Cod sursa(job #2266034)

Utilizator alex2kamebossPuscasu Alexandru alex2kameboss Data 22 octombrie 2018 09:22:11
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <iostream>
#include <deque>
#include <vector>
#include <queue>
#include <cstdio>
#include <climits>

using namespace std;

vector <long long> z;
int n,t,s;
long long rez,c,p;

deque <int> q;

int main()
{
    freopen("branza.in","r",stdin);
    freopen("branza.out","w",stdout);

    cin>>n>>s>>t;

    for(int i=0;i<n;++i)
    {
        cin>>p>>c;
        z.push_back(p);

        while(!q.empty() && z[q.back()]>p)
            q.pop_back();

        q.push_back(i);

        while(i-q.front()>=t)
            q.pop_front();

        rez+=(z[q.front()]+s*(i-q.front()))*c;
    }

    cout<<rez;

    return 0;
}