题意:求最大子列和,放在这里得目的就是提醒自己要脚踏实地
然后可以拓展到二维POJ - 1050
代码:
#include<cstdio>
#include<algorithm>
using namespace std;
const int inf=0x3f3f3f3f;
int main(){
int t;
scanf("%d",&t);
for(int i=1;i<=t;i++){
int ans=-inf;
int sum=0;
int x=1,y=1;
int xx=1,yy=1;
int n;
scanf("%d",&n);
for(int j=1;j<=n;j++){
int m;
scanf("%d",&m);
if(sum<0){
x=j;
sum=m;
}else{
sum+=m;
}
if(sum>ans){
ans=sum;
xx=x;
yy=j;
}
}
printf("Case %d:\n%d %d %d\n",i,ans,xx,yy);
if(i!=t)printf("\n");
}
}