Pagini recente » Cod sursa (job #3256356) | Cod sursa (job #604263) | Cod sursa (job #2147972) | Cod sursa (job #1820675) | Cod sursa (job #463599)
Cod sursa(job #463599)
#include <cstdio>
#include <queue>
#include <algorithm>
#define maxN 100005
using namespace std;
struct str {int d, c;};
str A[maxN];
long long sol;
int N, X, L, dist, i;
priority_queue <int> H;
inline bool cmp (const str &a, const str &b)
{
if (a.d < b.d) return 1;
return 0;
}
int main ()
{
freopen ("lupu.in", "r", stdin);
freopen ("lupu.out", "w", stdout);
scanf ("%d%d%d\n", &N, &X, &L);
for (i = 1; i <= N; i++)
scanf ("%d%d\n", &A[i].d, &A[i].c);
sort (A + 1, A + N + 1, cmp);
for (dist = 0, i = 1; dist <= X && i <= N; dist += L)
{
for (; i <= N && A[i].d <= dist; i++)
H.push (A[i].c);
if (H.size ())
{
sol += H.top ();
H.pop ();
}
}
printf ("%lld\n", sol);
return 0;
}