Cod sursa(job #2776323)

Utilizator xXoctavianXxStanescu Matei Octavian xXoctavianXx Data 19 septembrie 2021 12:46:41
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

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

const int nmax=1e5 +7;
ll n,s,t,c,p,rasp;
deque<pair<ll,ll> > dq;

int main()
{
    fin>>n>>s>>t;
    for(int i=1; i<=n; i++)
    {
        fin>>c>>p;
        while(!dq.empty() && dq.back().first+(i-dq.back().second)*s>c) dq.pop_back();
        dq.push_back({c,i});
        if(i-dq.front().second>t) dq.pop_front();
        rasp+=(dq.front().first+(i-dq.front().second)*s)*p;
    }
    fout<<rasp;
    return 0;
}