Pagini recente » Cod sursa (job #2195294) | Cod sursa (job #3251833) | Cod sursa (job #2320486) | Cod sursa (job #2983904) | Cod sursa (job #2642572)
#include <bits/stdc++.h>
#define NMAX 200003
using namespace std;
ifstream fin ("lupu.in");
ofstream fout ("lupu.out");
int n, L, X;
long long ans;
struct Oaie{
unsigned int dist, lana;
bool operator() (const Oaie &A, const Oaie &B){
return A.lana < B.lana;
}
}v [NMAX];
priority_queue <Oaie, vector <Oaie>, Oaie> pq;
bool cmp (Oaie A, Oaie B){
return A.dist < B.dist;
}
int main (){
fin >> n >> X >> L;
for (int i = 1; i <= n; i ++)
fin >> v [i].dist >> v [i].lana;
sort (v + 1, v + n + 1, cmp);
for (int I = 1, D = X % L; D <= X; D += L){
for (; v [I].dist <= D && I <= n; I ++)
pq.push (v [I]);
if (!pq.empty ()){
ans += pq.top ().lana;
pq.pop ();
}
}
fout << ans << '\n';
return 0;
}