Cod sursa(job #3191192)

Utilizator beniglavan10Beni Glavan beniglavan10 Data 8 ianuarie 2024 23:59:46
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>

using namespace std;

ifstream fin("lupu.in");
ofstream fout("lupu.out");
#define ll long long
vector<vector<ll>> v;
priority_queue<ll> pq;

int main()
{
    ll n, x, l, i, j, a, b, maxi = 0, s = 0;
    fin >> n >> x >> l;
    for (i = 0;i < n;i++)
    {
        fin >> a >> b;
        if (a <= x)
        {
            a = (x - a) / l + 1;
            maxi = max(maxi, a);
            v.resize(maxi + 1);
            v[a].push_back(b);
        }
    }
    for (i = maxi;i >= 1;i--)
    {
        for (j = 0;j < v[i].size();j++)
            pq.push(v[i][j]);
        if (pq.size())
        {
            s += pq.top();
            pq.pop();
        }
    }
    fout << s;
    return 0;
}