Cod sursa(job #2475152)
Utilizator | Teodor Tatomir teodortatomir | Data | 16 octombrie 2019 12:43:58 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | c-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.5 kb |
#include <stdio.h>
#include <stdlib.h>
int main(){
FILE *fin,*fout;
int n,a,maxx,st,dr,i,s,x;
fin=fopen("ssm.in", "r");
fout=fopen("ssm.out", "w");
fscanf(fin, "%d", &n);
x=1;
s=maxx=-1000000000;
st=0;
dr=0;
for(i=0;i<n;i++){
fscanf(fin, "%d", &a);
if(s<0){
s=0;
x=i+1;
}
s+=a;
if(s>maxx){
st=x;
dr=i+1;
maxx=s;
}
}
fclose(fin);
fprintf(fout,"%d %d %d",maxx,st,dr);
fclose(fout);
return 0;
}