Cod sursa(job #2885551)

Utilizator RobertuRobert Udrea Robertu Data 6 aprilie 2022 11:09:19
Problema Branza Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.62 kb
#include <bits/stdc++.h>
#define dim 100003
using namespace std;

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

long long v[dim];
deque<long long> dek;

int main() {
    long long n, s, t, c, p, min, suma = 0;

    fin >> n >> s >> t;

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

        while( !dek.empty() && dek.front() < i - t ) 
            dek.pop_front();

        while( !dek.empty() && v[ dek.back() ] + (i - dek.back()) * s  > v[i] )
            dek.pop_back();

        dek.push_back(i);

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

    fout << suma;

    return 0;
}