#include<iostream> #include<stdio.h> #include<string.h> #define mx 10001 using namespace std; int dp[mx],a[mx]; int first,last; int sum; int main() { int n; while(~scanf("%d",&n)){ int cnt=0; memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++){ scanf("%d",&a[i]); if(a[i]<0)cnt++; } if(cnt==n){ printf("0 %d %d\n",a[0],a[n-1]); continue; } first=last=0,sum=0; if(a[0]>0){ dp[0]=a[0];sum=a[0]; } for(int i=1;i<n;i++){ dp[i]=dp[i-1]+a[i]; if(dp[i]>0){ if(dp[i]>sum) { sum=dp[i]; } }else{ dp[i]=0; if(a[i]>0) dp[i]=a[i]; } } for(int i=0;i<n;i++){ if(a[i]>=0&&dp[i]==sum) { last=i;break; } } for(int i=last;i>=0;i--){ if(a[i]<0&&dp[i]==0) { first=i+1;break; } } printf("%d %d %d\n",sum,a[first],a[last]); } return 0; }