Cod sursa(job #615146)
| Utilizator | Data | 8 octombrie 2011 18:37:37 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 70 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <stdio.h>
#include<math.h>
FILE *f=fopen("ssm.in","r"),*g=fopen("ssm.out","w");
long long int s=0,a,max=-1000000000;
long int n,i,j,x1=1,x,y;
int main(){
fscanf(f,"%lld",&n);
fscanf(f,"%lld",&a);
s=a; ;
for(i=2; i<=n; i++){
fscanf(f,"%lld",&a);
if(s+a>=a){s=s+a;}
else {
s=a;
x=i;
}
if(s>=max){
max=s;
x1=x;
y=i;
}
}
fprintf(g,"%lld %ld %ld",max,x1,y);
return 0;
}
