Cod sursa(job #261108)
Utilizator | Data | 17 februarie 2009 21:18:09 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <cstdio>
#define INF 0x3f3f3f
int main()
{
freopen("ssm.in","rt",stdin);
freopen("ssm.out","wt",stdout);
int Act = 0, Bst = -INF, Inc, x, Bi, Bs, N;
scanf("%d",&N);
for(int i = 1; i <= N; ++i)
{
scanf("%d",&x);
if(Act > 0)
Act += x;
else
Act = x, Inc = i;
if(Act > Bst)
Bst = Act, Bi = Inc, Bs = i;
}
printf("%d %d %d\n",Bst, Bi, Bs);
}