Cod sursa(job #2888223)

Utilizator bogdanputineluBogdan Putinelu bogdanputinelu Data 10 aprilie 2022 20:29:16
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <utility>
using namespace std;
int main() {
    ifstream f("branza.in");
    ofstream g("branza.out");
    long long n,s,timp,pret,cant;
    long long total=0;
    deque<pair<long long,long long>> br;
    f>>n>>s>>timp;
    for(int i=0;i<n;++i){
        f>>pret>>cant;
        while(!br.empty() && pret<br.back().first+s*(i-br.back().second))
            br.pop_back();
        br.push_back(make_pair(pret,i));
        if(br.front().second<i-timp)
            br.pop_front();
        total += cant*(br.front().first+s*(i-br.front().second));
    }
    g<<total;
    return 0;
}