Pagini recente » Cod sursa (job #384276) | Cod sursa (job #1601916) | Cod sursa (job #1901415) | Cod sursa (job #2220969) | Cod sursa (job #429878)
Cod sursa(job #429878)
#include <stdio.h>
FILE *f=fopen("buline.in","r"),*g=fopen("buline.out","w");
int i,n,v[400001],p,l,pm,lm,s,sm=-2000000000,t;
int main(void)
{
fscanf(f,"%d",&n);
for (i=1;i<=n;i++)
{
fscanf(f,"%d%d",&v[i],&t);
if (t==0)
v[i]=v[i]*(-1);
if (s<v[i] && s<0)
{
s=v[i];
l=1;
p=i;
}
else {s+=v[i]; l++;}
if (s>sm)
{
sm=s;
lm=l;
pm=p;
}
else
{
if (s==sm && l>lm && p==pm)
{
sm=s;
pm=p;
lm=l;
}
}
}
if (s>0)
for (i=1;i<p;i++)
{
if (s<v[i] && s<0)
{
s=v[i];
l=1;
p=i;
}
else {s+=v[i]; l++;}
if (s>sm)
{
sm=s;
lm=l;
pm=p;
}
else
{
if (s==sm && l>lm && p==pm)
{
sm=s;
pm=p;
lm=l;
}
}
}
fprintf(g,"%d %d %d\n",sm,pm,lm);
fclose(g);
return 0;
}