您的位置:首页 > 其它

HDU 1003 Max Sum

2013-09-15 00:17 363 查看
为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");
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: