Cod sursa(job #402246)
Utilizator | Data | 23 februarie 2010 18:14:29 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 80 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.43 kb |
#include <stdio.h>
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
int s,i,j,x,y,n,t,p1,p2,max;
int main() {
fscanf(f,"%d",&n);
fscanf(f,"%d",&t);
x=y=p1=p2=1;
s=t;
max=t;
for(i=2;i<=n;i++){
fscanf(f,"%d",&t);
if(s+t>=t){
s+=t;
y=i;
}
else{
s=t;
x=y=i;
}
if(s>max){
max=s;
p1=x;
p2=y;
}
}
fprintf(g,"%d %d %d",max,p1,p2);
fclose(g);
fclose(f);
return 0;
}