#include<iostream> #include<stdio.h> #include<string> #include<string.h> #include<algorithm> using namespace std; struct points { int begin; int end; int sum; }point[10005]; int a[10005]; int main() { int K; while(scanf("%d",&K),K) { bool flag=false; memset(a,0,sizeof(a)); for(int i=0;i<=K;++i) point[i].sum=point[i].begin=point[i].end=0; //录入数据 for(int i=1;i<=K;++i) { scanf("%d",&a[i]); if(a[i]>=0) flag=true; } for(int i=1;i<=K;++i) { if(point[i-1].sum<0) point[i].sum=point[i].begin=point[i].end=a[i]; if(point[i-1].sum>0) { point[i].begin=point[i-1].begin; point[i].end=a[i]; point[i].sum=point[i-1].sum+a[i]; } if(point[i-1].sum==0) point[i].sum=point[i].begin=point[i].end=a[i]; } int max_num=point[0].sum; int max_road=0; for(int i=1;i<=K;++i) { if(max_num<point[i].sum) { max_num=point[i].sum; max_road=i; } } if(flag==false) printf("0 %d %d/n",a[1],a[K]); else printf("%d %d %d/n",point[max_road].sum,point[max_road].begin,point[max_road].end); } return 0; }