Cod sursa(job #2273672)

Utilizator andreisontea01Andrei Sontea andreisontea01 Data 31 octombrie 2018 20:33:14
Problema Lupul Urias si Rau Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <iostream>
#include <queue>
#include <algorithm>

using namespace std;

const int MAXN = 100005;

#define st first
#define nd second

pair<int, int> oi[MAXN];
priority_queue<pair<int, int> > heap;

int main()
{
    ifstream fin("lupu.in");
    ofstream fout("lupu.out");
    int n, x, l;
    fin >> n >> x >> l;
    for(int i = 1; i <= n; ++i){
        fin >> oi[i].st >> oi[i].nd;
        heap.push({oi[i].nd, oi[i].st});
    }
    sort(oi + 1, oi + n + 1);
    long long tot = 0;
    while(x >= 0){
        while(!heap.empty() && heap.top().nd > x)
            heap.pop();
        tot += heap.top().st;
        heap.pop();
        x -= l;
    }
    fout << tot;
    return 0;
}