Pagini recente » Cod sursa (job #2698766) | Cod sursa (job #1372786) | Cod sursa (job #2671146) | Cod sursa (job #1306870) | Cod sursa (job #1284002)
#include <stdio.h>
#include <stdlib.h>
int s[6000001];
int main()
{ FILE*fi,*fout;
int nr,ultim,i,max,n,con;
fi=fopen("ssm.in" ,"r");
fout=fopen("ssm.out" ,"w");
fscanf(fi,"%d" ,&n);
ultim=0;
max=con=0;
for(i=1;i<=n;i++){
fscanf(fi,"%d" ,&nr);
if(nr<0)
con++;
if(s[i-1]+nr>max){
ultim=i;
max=s[i-1]+nr;
}
else
if(s[i-1]>max&&i>1){
ultim=i;
max=s[i];
}
if(s[i-1]+nr>nr)
s[i]=s[i-1]+nr;
else
s[i]=nr;
}
if(con==n){
max=s[1];
for(i=1;i<=n;i++)
if(max<s[i]){
max=s[i];
nr=ultim=i;
}
nr--;
}
else{
nr=ultim;
while(nr>0&&s[nr]>=0)
nr--;
}
fprintf(fout,"%d %d %d" ,max,nr+1,ultim);
fclose(fi);
fclose(fout);
return 0;
}