Pagini recente » Cod sursa (job #1284000) | Diferente pentru utilizator/vik intre reviziile 3 si 2 | Diferente pentru utilizator/lestat intre reviziile 2 si 4 | Cod sursa (job #3338082) | Cod sursa (job #2238344)
#include <stdio.h>
#include <stdlib.h>
int v[6000002];
int main()
{
int max=0,st,dr,s,i,i1,i2,n;
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]);
st=dr=1;
s=v[1];
max=v[1];
i1=i2=1;
for(i=2;i<=n;i++){
if(s<0){
s=0;
dr=st=i;
}
else
dr=i;
s+=v[i];
if(s>max){
max=s;
i1=st;
i2=dr;
}
}
fprintf(fout,"%d %d %d",max,i1,i2);
fclose(fin);
fclose(fout);
return 0;
}