Cod sursa(job #3334496)

Utilizator serban19serban colhon serban19 Data 18 ianuarie 2026 10:04:32
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long long n,s,x[200001],y[200001],f1=0,l1=0,fm=0,lm=0,sm=0;
int main()
{
    ifstream in("buline.in ");
    ofstream out("buline.out");
    in>>n;
    in>>x[1]>>y[1];
    if(y[1]==0){
    s-=x[1];
    f1=1;
    l1=1;
    fm=1;
    lm=1;
    sm-=x[1];
    }
    else{
        s+=x[1],f1=1,l1=1,fm=1,lm=1,sm+=x[1];
    }
    for(int i=2;i<=n;i++)
    {
        in>>x[i]>>y[i];
        int u=0;
        if(y[i]==1)u+=x[i];
        else u-=x[i];

        if(s+u > u)
        {
            s+=u;
            l1=i;
        }
        else{
            s=u;
            f1=l1=i;
        }

        if(s>sm)
        {
            sm=s;
            fm=f1;
            lm=l1;
        }
    }

    //cout<<sm<<" "<<fm<<" "<<lm;
    s=sm;
    l1=lm;
    for(int i=1;i<fm;i++)
    {
        int u=0;
        if(y[i]==1)u+=x[i];
        else u-=x[i];

        if(s+u > u)
        {
            s+=u;
            l1++;
        }


        if(s>sm)
        {
            sm=s;
            lm=l1;
        }
    }
    out<<sm<<" "<<fm<<" "<<lm-fm+1;
    return 0;
}