Cod sursa(job #3140238)

Utilizator sygAndreiIonitaIonita Andrei sygAndreiIonita Data 4 iulie 2023 21:13:04
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <deque>
#include <algorithm>

using namespace std;
using ll = long long;

ifstream cin ("branza.in");
ofstream cout ("branza.out");

ll c[100001],p[100001];

deque<int>d;

int main() {
    ll n,s,t,a,b;
    ll sum=0;
    cin>>n>>s>>t;
    for (int i=1;i<=n;i++)
    {
        cin>>c[i]>>a;
        while (!d.empty()&&c[i]<=c[d.back()]+s*(i-d.back()))
            d.pop_back();
        d.push_back(i);
        while (!d.empty()&&i-d.front()>t)
            d.pop_front();
        sum+=(c[d.front()]+s*(i-d.front()))*a;
    }
    cout<<sum;
    return 0;
}