Cod sursa(job #1922410)

Utilizator raisacmtAxenie Raisa raisacmt Data 10 martie 2017 17:20:51
Problema Buline Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <cstdio>

using namespace std;
int v[400005];
int main()
{
    freopen("buline.in","r",stdin);
    freopen("buline.out","w",stdout);
    int n,i,b,sc,smax,p,l,k,ic;
    scanf("%d",&n);
    for(i=1; i<=n; i++)
    {
        scanf("%d%d",&v[i],&b);
        if(b==0)
            v[i]*=(-1);
    }
    for(i=n+1; i<2*n; i++)
    {
        v[i]=v[i-n];
    }
    k=0;sc=0;ic=0;l=0;smax=0;
    int l1=0;
    for(i=1; i<=2*n; i++)
    {


        if(sc+v[i]>v[i])
            sc+=v[i],l1++;
        else
        {
            if(i<=n){
                sc=v[i];
                ic=i;
                l1=1;
            }
            else
                if(i>n)
                    break;
        }
        if(sc>smax)
        {
            smax=sc;
            p=ic;
            l=i-ic+1;
        }
        if(l1>=n)
            break;
    }
    printf("%d %d %d",smax,p,l);
    return 0;
}