Cod sursa(job #1529659)
Utilizator | Data | 21 noiembrie 2015 10:07:05 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 10 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin,*fout;
int n,i,max=0,s=0,a,d1,d2;
fin=fopen("ssm.in","r");
fscanf(fin,"%d",&n);
for(i=0;i<n;i++){
if(s>max)
max=s;
fscanf(fin,"%d",&a);
s+=a;
if(s<0){
s=0;
d1=i+1;
}
else
d2=i;
}
if(s>max)
max=s;
fout=fopen("ssm.out","w");
fprintf(fout,"%d %d %d",max,d1+1,d2+1);
fclose(fout);
return 0;
}