Cod sursa(job #2515120)

Utilizator YetoAdrian Tonica Yeto Data 27 decembrie 2019 20:44:54
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <vector>
#include <queue>
using namespace std;
long long n, x, k, i, sol, d, a, Max, turn;
vector <int> L[100010];
priority_queue <int> q;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");

int main () {
    fin>>n>>x>>k;
    for (i=1;i<=n;i++) {
        fin>>d>>a;
        if (d<=x) {
            L[(x-d)/k+1].push_back(a);
            Max=max(Max,(x-d)/k+1);
        }
    }

    for (turn=Max;turn>=1;turn--) {
        for (i=0;i<L[turn].size();i++) {
            q.push(L[turn][i]);
        }
        if (!q.empty()) {
            sol+=q.top();
            q.pop();
        }
    }
    fout<<sol;
    return 0;
}