Pagini recente » Profil MateiMirela | Diferente pentru utilizator/606 intre reviziile 2 si 3 | Diferente pentru utilizator/piticu intre reviziile 3 si 2 | Diferente pentru utilizator/ddumitran intre reviziile 2 si 3 | Cod sursa (job #1283984)
#include <stdio.h>
#include <stdlib.h>
int s[5000];
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[0]=nr;
poz=0;
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;
}
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;
}