Cod sursa(job #757136)
Utilizator | Andrei Popa musicxd | Data | 11 iunie 2012 09:35:33 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <cstdio>
int main (){
int s=0, i, j, n, nrc;
int smax= - (1 << 31);
freopen ("ssm.in", "r", stdin);
freopen ("ssm.out", "w", stdout);
scanf ("%d", &n);
int ppoz = 1, ppozb, upozb;
for (i=1; i<=n; ++i)
{
scanf ("%d", &nrc);
s=s+nrc;
if (s>smax){
smax=s;
ppozb = ppoz;
upozb = i;
}
if (s<0) {
s=0;
ppoz = i + 1;
}
}
printf ("%d %d %d\n", smax, ppozb, upozb);
}