Cod sursa(job #349564)

Utilizator MKLOLDragos Ristache MKLOL Data 20 septembrie 2009 05:11:53
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<stdio.h>

int o,S,ifin,ok,q,jfin,max,N,v[200010],a,b;

int main()
{
freopen("buline.in","r",stdin);
freopen("buline.out","w",stdout);
 scanf("%d",&N);

 for(int i=1;i<=N;++i)
 {

        scanf("%d%d",&a,&b);
        if(b==0)
        b=-1;
        v[i]=a*b;
 }



for(int i=1;i<=N;++i)
    {
    o=1;
    S=0;
    if(v[i]>0)
    for(int j=i;o<=N;++j)
    {   if(j==N+1)
        {
        ok=1;
        j=1;
        }


        S=S+v[j];

        if(S<=0)
        {
            o=N+1;
            S=0;
        }
        if(S>max)
        {
            max=S;
            ifin=i;
            jfin=o;

        }
        q=j;
        ++o;

    }
    if(q!=0&&q>=i)
    i=q;
    if(ok==1)
    i=N+1;
}
printf("%d %d %d",max,ifin,jfin);
}