Pagini recente » Cod sursa (job #622472) | Cod sursa (job #3294107) | Cod sursa (job #238457) | Cod sursa (job #135421) | Cod sursa (job #519185)
Cod sursa(job #519185)
#include <stdio.h>
int max=-10001,min=0,v[200001],l,r,p,q,i,x,y,n,s,t,st,l2,p2,q2;
int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
scanf("%d",&n);
for (i=1;i<=n;++i)
{
scanf("%d%d",&x,&y);
v[i]=x*(2*y-1);
st+=v[i];
}
for (r=1;r<n;++r)
{
if (s<0) {s=0;l=r;}
if (t>0) {t=0;l2=r;}
s+=v[r];
t+=v[r];
if (s>max) {max=s;p=l;q=r-l+1;}
if (t<min) {min=t;p2=l2;q=r-l2+1;}
}
if (max>st-min) printf("%d %d %d",max,p,q);
else printf("%d %d %d",st-min,p2+q2+1,n-q2-1);
return 0;
}