【杭电】[1003]Max Sum

这里写图片描述
这里写图片描述

作为1003
当时第一眼看感觉很简单
然后……
不会~

动态规划问题

#include<stdio.h>
int main() {
    int T,kase=0;
    scanf("%d",&T);
    while(T--) {
        printf("Case %d:\n",++kase);
        int n;
        scanf("%d",&n);
        int t,sum,tsum,s,ts,e;
        for(int i=1; i<=n; i++) {
            scanf("%d",&t);
            if(i==1) {
                sum=tsum=t;
                s=ts=e=1;
            } else {
                if(t>tsum+t) {
                    tsum=t;
                    ts=i;
                } else
                    tsum+=t;
            }
            if(tsum>sum) {
                sum=tsum;
                s=ts;
                e=i;
            }
        }
        printf("%d %d %d\n",sum,s,e);
        if(T)
            printf("\n");
    }
    return 0;
}

优秀博文:
HDU 1003 Max Sum

题目地址:【杭电】[1003]Max Sum

posted @ 2016-03-18 07:36  BoilTask  阅读(7)  评论(0编辑  收藏  举报