mark一下,这道题跑到46ms的时候,WA掉了…… 不知道自己Wa在哪里……
#include <stdio.h> #include <iostream> #include <algorithm> #define inf -2000 #define maxn 100010 using namespace std; int a[maxn]; struct node { int c; int loc; }tree[maxn]; int comp(struct node a,struct node b) { if(a.loc!=b.loc) return a.c>b.c; return a.loc<b.loc; } int main() { int t,n; scanf("%d",&t); int i,j,k; int s,e,v; for(i=0;i<t;i++) { tree[0].c=0; scanf("%d",&n); for(j=1;j<=n;j++) { scanf("%d",&tree[j].c); tree[j].loc=j; tree[j].c=tree[j-1].c+tree[j].c; } sort(tree+1,tree+n+1,comp); if(tree[n].c<0) { s=tree[n].loc+1; v=tree[1].c-tree[n].c; } else {s=1;v=tree[1].c;} e=tree[1].loc; printf("Case %d\n",i+1); printf("%d %d %d\n",v,s,e); } return 0; }