Pagini recente » Cod sursa (job #3263101) | Cod sursa (job #3237062) | Cod sursa (job #3187227) | Cod sursa (job #2802410) | Cod sursa (job #3274339)
#include <bits/stdc++.h>
using namespace std;
struct sheep {
int d, c;
} v[100001];
bool comp(sheep a, sheep b) {
return a.d < b.d;
}
int n, x, l;
int main() {
ifstream cin("lupu.in");
ofstream cout("lupu.out");
cin >> n >> x >> l;
for (int i = 1; i <= n; ++i) {
cin >> v[i].d >> v[i].c;
}
sort(v + 1, v + n + 1, comp);
priority_queue<int> q;
int k = 0;
long long sum = 0;
for (int i = 1; i <= n; ++i) {
if (v[i].d <= k) {
q.push(v[i].c);
} else {
if (!q.empty()) {
sum += q.top();
q.pop();
}
--i;
k += l;
if (k > x) {
cout << sum;
return 0;
}
}
}
while (!q.empty() && k <= x) {
sum += q.top();
q.pop();
k += l;
}
cout << sum;
}