Pagini recente » Cod sursa (job #2259436) | Cod sursa (job #82227) | Cod sursa (job #270129)
Cod sursa(job #270129)
#include<stdio.h>
int poz1,poz2,lung1,lung2=0,i,v[6000000],n;
long s=-2000000000,smax=-2000000000;
long max(long a, long b)
{
if (a>b) {lung2++;
return a;
}
else {poz2=i;
lung2=1;
return b;
}
}
long maxim (long a,long b)
{
if (a>b) return a;
else if (a==b) {if (lung2<lung1) {poz1=poz2;lung1=lung2;}
return a;}
else
{poz1=poz2;
lung1=lung2;
return b;
}
}
int main()
{
FILE*f=fopen("ssm.in","r");
FILE*g=fopen("ssm.out","w");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
fscanf(f,"%d",&v[i]);
for(i=1;i<=n;i++)
{s=max(s+v[i],v[i]);
smax=maxim(smax,s);
}
fprintf(g,"%ld %d %d",smax,poz1,poz1+lung1-1);
fclose(f);
fclose(g);
return 0;
}