25 6 -1 5 4 -77 0 6 -1 1 -6 7 -5Sample OutputCase 1:14 1 4Case 2:7 1 6#include<stdio.h>#include<string.h>#include<math.h>int a[100010];int main(){ int t; scanf("%d",&t); int g=0; while(t--) { ++g; int n; scanf("%d",&n); memset(a,0,sizeof(a)); for(int i=1;i<=n;i++) { scanf("%d",&a[i]); } int sum=0; PRintf("Case %d:/n",g); int p=1,l=1,k=1; int maxn=-1e9; for(int i=1;i<=n;i++) { sum+=a[i]; if(maxn<sum) { maxn=sum; p=i;//记序列的右边位置 k=l;//记序列的左边位置 } if(sum<0) { l=i+1; sum=0; } } printf("%d %d %d/n",maxn,k,p); if(t) printf("/n"); //} }}
新闻热点
疑难解答