Cod sursa(job #1234905)
| Utilizator | Data | 28 septembrie 2014 12:16:18 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include<cstdio>
#include<climits>
using namespace std;
int main(){
FILE *in=fopen("ssm.in","r"),*out=fopen("ssm.out","w");
int m=INT_MIN,s=0,n,a,i1,i2,j;
int v[6000002];
fscanf(in,"%d",&n);
v[0]=0;
for(int i=1;i<n+1;i++){
fscanf(in,"%d",&a);
v[i] = v[i-1] + a;
}
m = v[1];
for(int i=1;i<n+1;i++){
for(int j=i;j<n+1;j++){
if (v[j] - v[i-1] > m) {
m = v[j] - v[i-1];
i1=i;
i2=j;
}
}
}
fprintf(out,"%d %d %d",m,i1,i2);
return 0;
}
