现在的位置: 首页 > 综合 > 正文

hdu 1231 最大连续子序列

2018年04月21日 ⁄ 综合 ⁄ 共 410字 ⁄ 字号 评论关闭

做法与hdu 1003差不多

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
#define INF -99999999
int const MAXN = 100010;
int a[MAXN];
int main(){
    int n;
    while(~scanf("%d",&n),n){
        for(int i = 1;i <= n;i++){
            scanf("%d",&a[i]);
        }
        int l,r,pos;
        l = r = pos = 1;
        int s = 0,s1 = INF;
        for(int i = 1;i <= n;i++){
            if(s < 0){
                s = a[i];
                pos = i;
            }
            else s += a[i];
            if(s > s1){
                s1 = s;
                l = pos;
                r = i;
            }
        }
        if(s1 < 0)printf("0 %d %d\n",a[1],a[n]);
        else printf("%d %d %d\n",s1,a[l],a[r]);
    }
    return 0;
}
【上篇】
【下篇】

抱歉!评论已关闭.