Cod sursa(job #1552832)
Utilizator | Data | 18 decembrie 2015 19:25:30 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 90 |
Compilator | c | Status | done |
Runda | Arhiva educationala | Marime | 0.59 kb |
#include <stdio.h>
#include <limits.h>
int main()
{
FILE*fin,*fout;
int n,i,sc,scmax,a,u,p,pmax,max;
fin=fopen("ssm.in","r");
fscanf(fin,"%d", &n);
sc=0;
scmax=-2000000000;
max=-2000000000;
for(i=0;i<n;i++){
fscanf(fin,"%d",&a);
sc+=a;
if(a>max){
max=a;
u=i+1;
pmax=i+1;
}
if(sc<0){
sc=0;
p=i+2;
}
else
if(sc>scmax){
scmax=sc;
u=i+1;
pmax=p;
}
}
fclose(fin);
if(scmax==0)
scmax=max;
fout=fopen("ssm.out","w");
fprintf(fout,"%d %d %d", scmax,pmax,u);
fclose(fin);
return 0;
}