Pagini recente » Diferente pentru utilizator/andrei15 intre reviziile 1 si 3 | Profil NZsolt | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #1284000)
#include <stdio.h>
#include <stdlib.h>
int s[6000001];
int main()
{
FILE *fin, *fout;
int n,i,poz,max,nr;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
fscanf(fin,"%d",&n);
fscanf(fin,"%d",&nr);
s[1]=nr;
poz=1;
max=nr;
for(i=1;i<=n;i++){
fscanf(fin,"%d",&nr);
if(s[i-1]+nr>nr){
s[i]=s[i-1]+nr;
}
else{
s[i]=nr;
}
if(s[i]>max)
max=s[i];
poz=i-1;
}
fprintf(fout,"%d ",max);
i=poz-1;
while(s[i]>0 && i>0)
i--;
i++;
fprintf(fout,"%d %d",i+1,poz);
fclose(fin);
fclose(fout);
return 0;
}