Cod sursa(job #331008)
Utilizator | Data | 12 iulie 2009 12:35:08 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.51 kb |
#include <stdio.h>
int n,i,s,max,solp,solu,p,u,x;
int main() {
FILE *f = fopen("ssm.in","r");
FILE *g = fopen("ssm.out","w");
fscanf(f,"%d",&n);
fscanf(f,"%d",&s);
max = s;
solp = solu = p = u = 1;
for (i=2; i<=n; i++) {
fscanf(f,"%d",&x);
if (s + x > x) {
u = i;
s += x;
}
else {
p = u = i;
s = x;
}
if (s > max) {
max = s;
solp = p;
solu = u;
}
}
fprintf(g,"%d %d %d",max,solp,solu);
fclose(f);
fclose(g);
return 0;
}