Cod sursa(job #676233)
Utilizator | Dani Biro Daninet | Data | 8 februarie 2012 21:03:46 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include<cstdio>
FILE *f = fopen("ssm.in", "r");
FILE *g = fopen("ssm.out", "w");
int n;
int best, bests, beste;
int s;
int main() {
fscanf(f,"%d", &n);
for(int i = 0; i<n; i++) {
int x;
fscanf(f,"%d", &x);
best = best + x;
if(x>best) {
best = x;
bests = i+1;
}
if(best > s) {
s = best;
beste = i+1;
}
}
fprintf(g,"%d %d %d", s, bests, beste);
fclose(g);
}