Cod sursa(job #3310885)

Utilizator FRD233Fodor Rares-Costin FRD233 Data 17 septembrie 2025 18:38:39
Problema Buline Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("buline.in");
ofstream g("buline.out");
int n,a[200001],x,y,S;
int pd[200001];
int main()
{   f>>n;
    for(int i=1;i<=n;i++)
    {   f>>x>>y;
        if(!y) a[i]=-x;
        else a[i]=x;
        S+=a[i];
    }
    int minim=999999,curent=0,poz,pf,l,pi;
    for(int i=1;i<=n;i++)
    {   if(pd[i-1]>=0) pd[i]=a[i],poz=i;
        else pd[i]=pd[i-1]+a[i];
        if(pd[i]<minim)
        {   minim=pd[i];
            pi=poz;
            pf=i;
            l=i-poz+1;
        }
        else if(pd[i]==minim && i-poz+1>l)
            {   pi=poz;
                pf=i;
                l=i-poz+1;
            }
    }
    if(minim<0) g<<S-minim<<" "<<(pf%n)+1<<" "<<n-l<<'\n';
    else g<<S<<" "<<1<<" "<<n<<'\n';
    return 0;
}