Cod sursa(job #2914077)

Utilizator LORDENVraja Luca LORDEN Data 18 iulie 2022 16:49:50
Problema Branza Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.63 kb
///#include <iostream>
#include "fstream"
#include <deque>

using namespace std ;

ifstream cin ("branza.in") ;
ofstream cout ("branza.out") ;

int n, s, t ;
long long v[100005] ;
deque < long long > D ;

int main()
{

    long long ans = 0, p ;

    cin >> n >> s >> t ;

    for (int i = 1 ; i <= n ; i ++)
    {

        cin >> v[i] >> p ;

        while (!D.empty() && D.front() + i < t)
            D.pop_front() ;

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

        D.push_back(i) ;
        ans += (v[D.front()] + s * (i - D.front())) * p;

    }

    cout << ans ;

    return 0 ;

}