Pagini recente » Cod sursa (job #3139831) | Cod sursa (job #2796340) | Cod sursa (job #1597269) | Cod sursa (job #503375) | Cod sursa (job #1128252)
/*
Keep It Simple!
*/
#include<stdio.h>
#define NMax 6000005
#define inf 2<<31
int v[NMax],Sum[NMax],best[NMax],bestS,n,is,ij;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&v[i]);
for(int i=1;i<=n;i++) Sum[i] = Sum[i-1]+v[i];
bestS = -inf;
int Vmin = 0; is = 0;
for(int i=1;i<=n;i++)
{
best[i] = Sum[i] - Vmin;
if( Vmin > Sum[i]) {Vmin = Sum[i]; is = i; }
if(bestS < best[i]) { bestS = best[i]; ij = i; }
}
printf("%d %d %d",bestS,is+1,ij);
}