Cod sursa(job #3306909)

Utilizator anca.gdDumitru Anca Gabriela anca.gd Data 15 august 2025 10:48:13
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
using namespace std;
ifstream cin("buline.in");
ofstream cout("buline.out");
long long int n, x, c, v[200005], smax, sum, st, a,b;
int main()
{
    cin>>n;
    for(int i=1; i<=n;i++){
        cin>>x>>c;
        if(c==0) v[i]=-x;
            else v[i]=x;
    }
    smax=-1e18, st=1;
    for(int i=1; i<=n;i++){
        sum+=v[i];
        if(sum>smax){
            smax=sum;
            a=st; b=i;
        }
        if(sum<0){
            st=i+1;
            sum=0;
        }
    }
    if(st!=n+1){
        int k=1;
        while(sum>=0 && k<st){
            sum+=v[k];
            if(sum>smax){
                smax=sum;
                a=st; b=k;
            }
            k++;
        }
    }
    int l=0;
    if(a<b) l=b-a+1;
        else l=n-a+1+b;
    cout<<smax<<' '<<a<<' '<<l;
    return 0;
}