Pagini recente » Cod sursa (job #1912278) | Cod sursa (job #870860) | Cod sursa (job #1617753) | Cod sursa (job #1520031) | Cod sursa (job #270931)
Cod sursa(job #270931)
#include<stdio.h>
int poz1,poz2,lung1,lung2,i,v[20010],n,semn,lung;
long s1,s=2000000000,s2,smax=2000000000,S;
int main()
{
FILE*f=fopen("buline.in","r");
FILE*g=fopen("buline.out","w");
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
{
fscanf(f,"%d %d",&v[i],&semn);
if (semn==0) v[i]=v[i]*(-1);
if (s+v[i]<=v[i])
{
lung++;
s=s+v[i];
}
else {
lung=1;
s=v[i];
}
if (smax<=s) ;
else
{
poz1=i;
lung1=lung;
smax=s;
}
S+=v[i];
}
poz1+=1;
if (poz1>n)
poz1=poz1-n;
s1=S-smax;
lung1=n-lung1;
/*smax=-2000000000;
s=-2000000000;
lung=0;
for (i=1;i<=n;i++)
{
if (s+v[i]>=v[i])
{
lung++;
s=s+v[i];
}
else {
lung=1;
s=v[i];
}
if (smax>=s) ;
else
{poz2=i;
lung2=lung;
smax=s;
}
}
s2=smax;
poz2=poz2-lung2+1;
if(s1>=s2)
fprintf(g,"%ld %d %d",s1,poz1,lung1);
else*/
fprintf(g,"%ld %d %d",s1,poz1,lung1);
fclose(f);
fclose(g);
return 0;
}