Cod sursa(job #1128287)
Utilizator | Data | 27 februarie 2014 16:24:28 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
/*
Keep It Simple!
*/
#include<stdio.h>
#define NMax 6000005
#define inf 2<<31
int v,best,n,is,ij,isf,cur;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
best = -(2<<31);
scanf("%d",&n);
for(int i=1;i<=n;i++)
{ scanf("%d",&v);
if( cur < 0)
{
cur = v;
is = i;
}
else
cur +=v;
if(best < cur )
{
best = cur;
isf = is;
ij = i;
}
}
printf("%d %d %d",best,isf,ij);
}