Cod sursa(job #1130139)
| Utilizator | Data | 28 februarie 2014 11:30:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 95 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.73 kb |
#include<cstdio>
int n,m,i,j,a,s,ps,pf,smax,psmax,pfmax;
FILE *f,*g;
int main(){
f=fopen("ssm.in","r");
g=fopen("ssm.out","w");
fscanf(f,"%d%d",&n,&a);
smax=s=a;
psmax=pfmax=ps=pf=1;
for(i=2;i<=n;i++){
fscanf(f,"%d",&a);
if(s+a>a){
s+=a;
pf++;
if(s>smax){
smax=s;
psmax=ps;
pfmax=pf;
}
}
else{
s=a;
ps=pf=i;
if(s>smax){
smax=s;
psmax=ps;
pfmax=pf;
}
}
}
fprintf(g,"%d %d %d",smax,psmax,pfmax);
fclose(f);
fclose(g);
return 0;
}
