Cod sursa(job #1831741)
| Utilizator | Data | 18 decembrie 2016 17:24:20 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <cstdio>
using namespace std;
int main () {
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n, m, i, j, k, s, t, st, s_st, s_dr, maxim;
maxim = s = -( 1 << 23 );
scanf("%d",&n);
for ( i = 1; i <= n; ++i ) {
scanf("%d",&k);
if ( s > 0 ) s += k;
else {
s = k;
st = i;
}
if ( s > maxim ) {
s_st = st;
s_dr = i;
maxim = s;
}
}
printf("%d %d %d",maxim,s_st,s_dr);
return 0;
}
