Cod sursa(job #3346559)

Utilizator Gabriel_DaescuDaescu Gabriel Florin Gabriel_Daescu Data 14 martie 2026 11:22:31
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#define NMAX 200005
using namespace std;
ifstream  fin("buline.in");
ofstream fout("buline.out");
int N,v[2*NMAX];

void citire()
{
    fin>>N;

    int x,c;
    for(int i=1; i<=N; i++)
    {
        fin>>x>>c;

        if(!c)
        {
            v[i]=-x;
        }
        else
        {
            v[i]=x;
        }

        v[i+N]=v[i];
    }
}


int main()
{
    citire();

    long long s,Smax;
    s=Smax=v[1];

    int start,l,P,L;
    start=l=P=L=1;

    for(int i=2; i<=2*N; i++)
    {
        if(s+v[i]>v[i])
        {
            s+=v[i];
            l++;

            if(l>N)
            {
                s-=v[start];
                start++;
                l--;
            }
        }
        else
        {
            s=v[i];
            start=i;
            l=1;
        }

        if(s>Smax)
        {
            Smax=s;
            P=start;
            L=l;
        }
    }

    fout<< Smax << " " << P <<  " " << L << "\n";

    return 0;
}