Cod sursa(job #3267566)

Utilizator Andercau_VasileAndercau Vasile Andercau_Vasile Data 11 ianuarie 2025 13:49:17
Problema Lupul Urias si Rau Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
#include <queue>
using namespace std;

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

priority_queue<pair<int, int>> PQ;

int main() {
    int n, x, l;
    fin >> n >> x >> l;
    int maxim = 0;
    for (int i = 1; i <= n; ++i) {
        int d, a;
        fin >> d >> a;

        if (d <= x) {
            int ind = (x - d) / l + 1;
            PQ.push({ind, a});
            maxim = max(maxim, ind);
        }
    }

    int cnt = 0;
    long long sum = 0;
    while (PQ.size() && cnt <= maxim) {
        if (PQ.top().first <= maxim - cnt + 1) {
            sum += PQ.top().second;
            PQ.pop();
        }
        cnt++;
    }

    fout << sum;
    return 0;
}