Pagini recente » Cod sursa (job #565587) | Cod sursa (job #921980) | Cod sursa (job #2059077) | Cod sursa (job #1879078) | Cod sursa (job #3324877)
#include <bits/stdc++.h>
#define
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
const int nmax = 1e5 + 5;
int n, x, l;
pair <int, int> v[nmax];
priority_queue <int> pq;
int main ()
{
fin >> n >> x >> l;
for (int i = 1; i <= n; i++)
fin >> v[i].first >> v[i].second;
sort(v + 1, v + n + 1);
int rez = 0;
int i = 1;
for (int dist = x / l * l; dist >= 0; dist -= l)
{
while (i <= n && v[i].first + dist <= x)
{
pq.push(v[i].second);
i++;
}
if (!pq.empty())
{
rez += pq.top();
pq.pop();
}
}
fout << rez;
return 0;
}