Cod sursa(job #3220596)

Utilizator Radu_BicliBiclineru Radu Radu_Bicli Data 4 aprilie 2024 12:12:36
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("branza.in");
ofstream fout("branza.out");
long long n, s, t, i, r, c[100002], p[100002];
deque<long long> q;

int main() {
    fin >> n >> s >> t;
    for(i = 1; i <= n; i++) fin >> c[i] >> p[i];
    for(i = 1; i <= n; i++) {
        while(!q.empty() && c[i] <= c[q.back()] + s * (i - q.back())) q.pop_back();
        q.push_back(i);

        if(i - q.front() > t) q.pop_front();
        r += p[i] * (s * (i - q.front()) + c[q.front()]);
    }
    fout << r;

    return 0;
}