Cod sursa(job #261939)
Utilizator | chisinau gheorghita gh09 | Data | 18 februarie 2009 21:25:11 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.81 kb |
# include <cstdio>
# define FIN "ssm.in"
# define FOUT "ssm.out"
int N, i, val, li, lo, max;
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d",&N);
int st, sc;
st = li = lo = 1;
scanf("%d",&max); sc = max;
for (i = 1; i < N; ++i)
{
scanf("%d",&val);
if (sc + val >= val)
{
sc += val;
} else
{
sc = val;
st = i + 1;
}
if (sc > max)
{
max = sc;
li = st;
lo = i + 1;
}
}
printf("%d %d %d",max, li, lo);
return 0;
}