做法与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; }