#include <stdio.h>
const int MAXN=10001;
int dp[MAXN]={0},start[MAXN],in[MAXN];
int main(void)
{
int n,i,j;
while(scanf("%d",&n)==1&&n!=0)
{
for(i=0;i<n;i++)scanf("%d",&in[i]);
int len=i-1,max=-1,p=0;
for(i=0;i<=len;i++){start[i]=i;dp[i]=in[i];}
for(i=1;i<=len;i++)
{
if(dp[i]<dp[i-1]+in[i]){
dp[i]=dp[i-1]+in[i];
start[i]=start[i-1];
}
}
for(i=0;i<=len;i++)
{
if(dp[i]>max){
max=dp[i];
p=i;
}
}
if(max<0)printf("%d %d %d\n",0,in[0],in[len]);
else printf("%d %d %d\n",dp[p],in[start[p]],in[p]);
}
return 0;
}
1231
最新推荐文章于 2023-11-19 19:53:47 发布