Pagini recente » Cod sursa (job #1506733) | Cod sursa (job #2428995) | Cod sursa (job #3256247) | Cod sursa (job #1800074) | Cod sursa (job #1946825)
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin=fopen("ssm.in","r"),*fout=fopen("ssm.out","w");
int max,n,nr,maxi,cd,cs,cdf,csf,a,c,poz,i,s;
fscanf(fin,"%d",&n);
max=0;
cd=0;
cs=0;
cdf=0;
csf=0;
s=0;
for(i=1;i<=n;i++){
fscanf(fin,"%d",&nr);
if(maxi<nr){
maxi=nr;
poz=i;
}
if(nr<0)
c++;
s+=nr;
if(s<0){
cs=i+1;
s=0;
}
if(s>max){
max=s;
cd=i;
cdf=cd;
csf=cs;
}
if(s==max){
if(cdf-csf>cd-cs){
cdf=cd;
csf=cs;
}
}
}
if(c==n)
fprintf(fout,"%d %d %d",maxi,poz,poz);
else
fprintf(fout,"%d %d %d",max,csf,cdf);
return 0;
}