Cod sursa(job #3275805)

Utilizator mihail_11Ionescu Mihail mihail_11 Data 11 februarie 2025 19:43:47
Problema Buline Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("buline.in");
ofstream fout("buline.out");
int t[400005];
deque<int> dq;
int main()
{
    int n,val,semn,i,sum=0,smax=-2e9;
    fin>>n;
    for(i=1;i<=n;++i)
    {
        fin>>val>>semn;
        if(semn==0)
            val*=-1;
        t[i]=t[i+n+1]=val;
    }
    for(i=1;i<=2*n;++i)
    {
        dq.push_front(t[i]);
        sum+=t[i];
        if(sum<0)
        {
            dq.clear();
            sum=0;
        }
        else
        {
            if(dq.size()==n+1)
            {
                sum-=dq.back();
                dq.pop_back();
            }
            smax=max(smax,sum);
        }
    }
    fout<<smax;
    return 0;
}