Cod sursa(job #3170805)

Utilizator Dumiboidumitrache rares Dumiboi Data 18 noiembrie 2023 10:08:45
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream cin("branza.in");
ofstream cout("branza.out");
deque<pair<long long,long long> > pret;
int main()
{
    int n,s,t,i;
    long long ans=0;
    cin>>n>>s>>t;
    for(i=1;i<=n;i++)
    {
        long long cost,cate;
        cin>>cost>>cate;
        while(!pret.empty() and cost<pret.back().first+(i-pret.back().second)*s)
            pret.pop_back();
        pret.push_back(make_pair(cost,i));
        while(!pret.empty() and i-pret.front().second>t)
            pret.pop_front();
        ans+=pret.front().first*cate+((long long)i-pret.front().second)*s*cate;

    }
    cout<<ans;
}