Pagini recente » Cod sursa (job #955672) | Cod sursa (job #1625252) | Cod sursa (job #839506) | Cod sursa (job #817286) | Cod sursa (job #1283999)
#include <stdio.h>
#include <stdlib.h>
int v[6000001];
int main()
{
FILE *fin,*fout;
int n,i,s,p,max,x;
fin=fopen("ssm.in","r");
fout=fopen("ssm.out","w");
fscanf(fin,"%d",&n);
for(i=1; i<=n; i++)
fscanf(fin,"%d",&v[i]);
s=v[1];
p=1;
max=v[1];
for(i=2; i<=n; i++)
{
if(s+v[i]>v[i])
s+=v[i];
else
s=v[i];
if(s>max)
{
max=s;
p=i;
}
}
s=v[p];
i=p;
while(i>0 && s!=max)
{
i--;
s+=v[i];
}
x=i-1;
while(v[x]==0)
x--;
if(x<i-1)
i=x+1;
fprintf(fout,"%d %d %d\n",max,i,p);
fclose(fin);
fclose(fout);
return 0;
}