Cod sursa(job #1831749)
| Utilizator | Data | 18 decembrie 2016 17:33:30 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.59 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 = -( 1 << 23 );
s = st = s_st = s_dr = 0;
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;
}
