Cod sursa(job #2732347)

Utilizator ioana2008vIoana Velniceru ioana2008v Data 28 martie 2021 21:51:09
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

ifstream fi("branza.in");
ofstream fo("branza.out");

long long n, s, t;

int main() {
    long long c, p;
    vector <pair <long long, long long>> vect;
    deque <long long> deq;
    fi >> n >> s >> t;
    long long suma = 0;
    for (long long i = 0; i < n; i++) {
        fi >> c >> p;
        vect.push_back(pair <long long,long long>(c, p));
        while (deq.empty() == 0 && i - deq.front() - 1 == t) {
            deq.pop_front();
        }
        while (deq.empty() == 0 && c <= vect[deq.back()].first + (i - deq.back()) * s) {
            deq.pop_back();
        }
        deq.push_back(i);
        suma += (vect[deq.front()].first + (i - deq.front()) * s) * p;
    }
    fo << suma;
    return 0;
}