Cod sursa(job #3169520)

Utilizator Mihai_AritonMihai Ariton Mihai_Ariton Data 15 noiembrie 2023 10:43:48
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.53 kb
#include <bits/stdc++.h>
using namespace std;

deque<pair<int, int>>q;
int main()
{
    ifstream cin("branza.in");
    ofstream cout("branza.out");
    
    long long n, s, t, c, p;
    long long r=0;
    cin>>n>>s>>t;
    for(int i=1; i<=n; i++)
    {
        cin>>c>>p;
        while(!q.empty() && c<q.back().first +(i-q.back().second)*s)
        q.pop_back();
        q.push_back({c, i});
        while(!q.empty() && i-q.front().second>t)
        q.pop_front();
        r+=p*(q.front().first+s*(i-q.front().second));
    }
    cout<<r;
}