Cod sursa(job #251146)

Utilizator Andrei200Andrei200 Andrei200 Data 1 februarie 2009 23:57:40
Problema Buline Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>

int a[200001],n,p,i,s,smax,nr,t,x,max,maxim,inceput,sfarsit,st,dr;

int main()
{
    freopen("buline.in","r",stdin);
    scanf("%d",&n);
    for (i=1;i<=n;++i)
    {
        scanf("%d %d",&x,&t);
        if (t==0)
            a[i]=-x;
            else
            a[i]=x;
    }
    for (i=1;i<=n;++i)
         a[i+n]=a[i];
    maxim=0;
    for (st=1;st<2*n;++st)
         {
            max=a[st];
            for (dr=st+1;dr<=2*st-1;++dr)
            {
                   max+=a[dr];
                   if (max>maxim)
                    {
                     maxim=max;
                     inceput=st;
                     sfarsit=dr;
                    }
            }
         }

    freopen("buline.out","w",stdout);
    printf("%d %d %d", maxim,inceput,sfarsit-inceput+1);
    return 0;
}