HDU 1003 Max Sum
为POJ 1050增加熟悉度。
洗洗睡。明天高数竞赛是神马。。。可以吃么。。。。。
不对。。。。。。。过12点了。。。。。。应该说今天。。。说好的不熬夜。。。。
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAXN=100000+10;
int a[MAXN];
int main()
{
int kase;
scanf("%d",&kase);
int n;
for(int ri=1;ri<=kase;ri++)
{
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
int begin=0,end=0,max,cur_sum,cur_begin,cur_end;
max=cur_sum=-99999;
for(int i=0;i<n;i++)
{
if(cur_sum<0)
{
cur_sum=a[i];
cur_begin=cur_end=i;
}
else
{
cur_sum+=a[i];
cur_end=i;
}
if(max<cur_sum)
{
max=cur_sum;
begin=cur_begin;
end=cur_end;
}
}
printf("Case %d:\n%d %d %d\n",ri,max,begin+1,end+1);
if(ri!=kase)
printf("\n");
}
}
新 blog : www.hrwhisper.me

浙公网安备 33010602011771号