HDU 1003 Max Sum

来源:互联网 发布:mac medium rare 编辑:程序博客网 时间:2024/06/10 10:30
#include <iostream>#include <stdio.h>#define  N 100010using namespace std;int main(){   int t,num=0;   int n,e,b,max;   int a[N],f[N];   scanf("%d",&t);   while(t--)   {       scanf("%d",&n);       for(int i=0;i<n;i++)           scanf("%d",&a[i]);        f[0]=a[0];        for(int i=1;i<n;i++)           {               if(f[i-1]>0)                   f[i]=f[i-1]+a[i];               else                    f[i]=a[i];            }        max=f[0];e=0;        for(int i=1;i<n;i++)        {           if(max<f[i])            {               max=f[i];               e=i;            }        }        int sum=0;        b=e;//b为开始的量,d为中间有多少个数;        for(int i=e;i>=0;i--)         {             sum+=a[i];             if(sum==max)                   b=i;          }        e=e+1;        b=b+1;        num++;        printf("Case %d:\n",num);        printf("%d %d %d\n",max,b,e);        if(t)            printf("\n");    }    return 0;}

0 0
原创粉丝点击