hdu 1231 最大连续子序列

来源:互联网 发布:上海交大软件学院 编辑:程序博客网 时间:2024/05/29 17:14

做法与hdu 1003差不多

#include <cstdio>#include <cstring>#include <iostream>using namespace std;#define INF -99999999int 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;}


0 0
原创粉丝点击