Pagini recente » Cod sursa (job #1351993) | Cod sursa (job #1678130) | Cod sursa (job #1984357) | Cod sursa (job #2533125) | Cod sursa (job #781095)
Cod sursa(job #781095)
#include <fstream>
#include <algorithm>
#include <queue>
#define dst first
#define lan second
using namespace std;
pair <int, int> dstlan [100005];
priority_queue <int, vector <int>, less <int> > heap;
bool cmp (pair <int, int> a, pair <int, int> b) {
return a . dst < b . dst;
}
int main()
{
ifstream f("lupu.in");
ofstream g("lupu.out");
int n, x, l, i, j = 1;
long long answ = 0;
f >> n >> x >> l;
for (i = 1; i <= n; ++ i) {
f >> dstlan [i] . dst >> dstlan [i] . lan;
}
sort (dstlan + 1, dstlan + n + 1, cmp);
for (i = 0; i <= x && j <= n; i += l) {
for (; dstlan [j] . dst <= i && j <= n; ++ j) {
heap . push (dstlan [j] . lan);
}
if (heap . size ()) {
answ += heap . top ();
heap . pop ();
}
}
g << answ;
}