Cod sursa(job #3127138)

Utilizator johnutddDobrin Ionut johnutdd Data 7 mai 2023 12:42:14
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <vector>
#include <deque>

using namespace std;

ifstream f("branza.in");
ofstream g("branza.out");

int main()
{
    int n, s, t;
    unsigned long long int ans = 0;
    f >> n >> s >> t;
    deque <int> deq;
    vector <int> cost;
    vector <int> pret;
    cost.resize(n + 10);
    pret.resize(n + 10);
    for (int i = 0; i < n; i++)
    {
        f >> pret[i] >> cost[i];
        while (deq.empty() == false && i - deq.front() > t)
        {
            deq.pop_front();
        } 
        while (deq.empty() == false && ((pret[deq.back()] + s * (i - deq.back())) > pret[i]))
        {
            deq.pop_back();
        }
        deq.push_back(i);
        ans += cost[i] * pret[deq.front()] + s * (i - deq.front()) * cost[i];
    }
    g << ans;
    return 0;
}