Cod sursa(job #2361980)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 2 martie 2019 20:58:30
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#include <deque>
using namespace std;

ifstream fin("branza.in");
ofstream fout("branza.out");

unsigned long long n,i,s,t,k,v[100001],p,sum;
deque <long long> c;

int main(){
    fin>>n>>s>>t;

    for(i=1;i<=n;i++){
        fin>>v[i]>>p;

        while(!c.empty() && v[i]<=v[c.back()]+s*(i-c.back()))
            c.pop_back();

        if(!c.empty())
            if(i-c.front()>t)
                c.pop_front();

        c.push_back(i);

        sum+=p*(v[c.front()]+s*(i-c.front()));
    }

    fout<<sum;

    return 0;
}