Pagini recente » Cod sursa (job #2803245) | Cod sursa (job #111125) | Cod sursa (job #1534922) | Cod sursa (job #55474) | Cod sursa (job #2305184)
#include <cstdio>
#include <iostream>
#include <vector>
#include <algorithm>
#include <queue>
using namespace std;
typedef long long ll;
int main()
{
freopen ("lupu.in", "r", stdin);
freopen ("lupu.out", "w", stdout);
int n, x, l;
scanf("%d %d %d", &n, &x, &l);
vector<pair<int, int>>v (n);
for (int i = 0; i < n; i++)
{
scanf("%d %d", &v[i].first, &v[i].second);
}
sort (v.begin(), v.end());
priority_queue<int>q;
ll ans = 0LL;
int p = 0;
for (int d = 0; d <= x; d += l)
{
while (p < n && v[p].first <= d)
{
q.push (v[p].second);
p++;
}
if (!q.empty())
{
ans += q.top();
q.pop();
}
}
cout << ans;
return 0;
}