Pagini recente » Autentificare | Cod sursa (job #2508332) | Cod sursa (job #2986059) | Cod sursa (job #2970793) | Cod sursa (job #1974347)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
#define f first
#define s second
const int N=1e5+5;
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
int n, d, l;
pair<int,int> v[N];
priority_queue<int> pq;
int main(){
long long ans=0;
in>>n>>d>>l;
for(int i=1; i<=n; i++)in>>v[i].f>>v[i].s;
sort(v+1, v+n+1);
int gr=0, i=1;
while(i<=n&&v[i].f<=d){
while(i<=n&&v[i].f<=l*gr)pq.push(v[i].s),i++;
if(pq.empty())ans+=pq.top(),pq.pop();
gr++;
}
out<<ans;
return 0;
}