Cod sursa(job #3306917)

Utilizator anca.gdDumitru Anca Gabriela anca.gd Data 15 august 2025 11:42:42
Problema Buline Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 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;
        }
    }
    int k=1;
    while(sum>0 && k<st-1){
        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;
}