Cod sursa(job #2238315)
| Utilizator | Data | 5 septembrie 2018 11:42:36 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 25 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.58 kb |
#include <stdio.h>
#include <stdlib.h>
int v[6000000],s[6000000];
int main()
{
int n,i,j,i1,i2,max=0;
FILE*fin=fopen("ssm.in", "r");
FILE*fout=fopen("ssm.out", "w");
fscanf(fin,"%d",&n);
for(i=1;i<=n;i++)
fscanf(fin,"%d",&v[i]);
s[0]=v[0];
for(i=1;i<=n-1;i++)
s[i]=s[i-1]+v[i];
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++){
if(max<s[j]-s[i]){
max=s[j]-s[i];
i1=i+1;
i2=j;
}
}
fprintf(fout,"%d %d %d",max,i1,i2);
fclose(fin);
fclose(fout);
return 0;
}
