Cod sursa(job #542559)
Utilizator | Pitis Daniel-Florin daniel.florin | Data | 26 februarie 2011 14:55:51 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.55 kb |
#include <cstdio>
#define FOR(i, a, b) for (int i = (a); i <= (b); ++ i)
#define Max(a, b) ((a) > (b) ? (a) : (b))
const int MAXN = 7000005;
int main()
{
int bestSum=-int(2e9),sum=0,beg,end,idx,n,S;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
FOR (i, 1, n)
{
scanf("%d",&S);
if (sum < 0)
sum = S, idx = i;
else
sum += S;
if (bestSum < sum)
bestSum = sum, beg = idx, end = i;
}
printf("%d %d %d",bestSum,beg,end);
return 0;
}