Cod sursa(job #748088)

Utilizator MagnvsDaniel Constantin Anghel Magnvs Data 12 mai 2012 14:32:27
Problema Buline Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#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;q2=r-l2+1;}
    }
    if (max>st-min) printf("%d %d %d",max,p,q);
    else printf("%d %d %d",st-min,p2+q2,n-q2);
    return 0;
}