Cod sursa(job #2888449)

Utilizator tiberiusss26Titiriga Tiberiu Nicolae tiberiusss26 Data 11 aprilie 2022 13:14:44
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <fstream>
#include <deque>

using namespace std;

int main(){
    ifstream f ("branza.in");
    ofstream g("branza.out");
    int N,S,T;
    f>>N>>S>>T;
    deque<pair<int,int>> deque;
    int cost, cant, minim=0;
    for(int i =0;i<N;i++){
        f>>cost>>cant;
        while(!deque.empty() && cost<= deque.back().second + S*(i - deque.back().first) )
            deque.pop_back();
        deque.push_back(make_pair(i,cost));
        if(deque.front().first < i - T)
            deque.pop_front();
        minim += cant*(deque.front().second + S*(i-deque.front().first));
    }

    g<<minim;
}