Cod sursa(job #1496621)
| Utilizator | Data | 5 octombrie 2015 11:51:38 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 75 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.49 kb |
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE*fin=fopen("ssm.in", "r");
FILE*fout=fopen("ssm.out", "w");
int n, i, a, s, poz1, poz2, max, start;
fscanf(fin, "%d", &n);
s=-2147483647;
max=0;
start=0;
for(i=1; i<=n; i++){
fscanf(fin, "%d", &a);
if(s<0){
s=a;
start=i;
}
else
s+=a;
if(s>max){
max=s;
poz1=start;
poz2=i;
}
}
fprintf(fout, "%d %d %d", max, poz1, poz2);
return 0;
}
