Cod sursa(job #3275860)

Utilizator ax_dogaruDogaru Alexandru ax_dogaru Data 11 februarie 2025 20:33:31
Problema Buline Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("buline.in");
ofstream fout("buline.out");

int n, x, sol=-1, l1, r1, l2, r2, pl1, pl2;
long long v[400005];
long long sum1=0, sum2=0, total=0, maxi=0, mini=0;

deque<int> a;

int main()
{
    fin >> n;
    for(int i=1; i<=n; i++) {
        fin >> v[i] >> x;
        if(x==0) {
            v[i]=v[i]*(-1);
        }
        total+=v[i];
    }
    for(int i=1; i<=n; i++) {
        sum1+=v[i];
        if(sum1<0) {
            sum1=0;
            pl1=i+1;
        }
        if(sum1>maxi) {
            maxi=sum1;
            r1=i;
            l1=pl1;
        }
        sum2+=v[i];
        if(sum2>0) {
            sum2=0;
            pl2=i+1;
        }
        //cout << sum2 << " " << mini << " "
        if(sum2<mini) {
            mini=sum2;
            r2=i;
            l2=pl2;
        }
    }
    if(total-mini>maxi) {
        fout << total-mini << " " << r2+1 << " " << n-(r2-l2+1);
    } else {
        fout << maxi << " " << l1 << " " << r1-l1+1;
    }
    return 0;
}