Pagini recente » Cod sursa (job #3253759) | Cod sursa (job #3256319) | Cod sursa (job #1160749) | Cod sursa (job #3158900) | Cod sursa (job #3285664)
#include <bits/stdc++.h>
using namespace std;
#define MAX_N 100001
struct oaie{
int d, lana, t;
};
oaie o[MAX_N];
int cmp( oaie a, oaie b ){
if( a.t == b.t )
return a.lana > b.lana;
return a.t > b.t;
}
priority_queue<int> pq;
int main(){
ifstream cin( "lupu.in" );
ofstream cout( "lupu.out" );
int n, i, x, l, s, timp;
cin >> n >> x >> l;
for( i = 1; i <= n; i++ ){
cin >> o[i].d >> o[i].lana;
o[i].t = ( x - o[i].d ) / l;
}
sort( o + 1, o + n + 1, cmp );
i = 1;
s = 0;
for( timp = x / l; timp >= 0; timp-- ){
while( i <= n && o[i].t == timp ){
pq.push(o[i].lana);
i++;
}
if( !pq.empty() ){
s += pq.top();
pq.pop();
}
}
cout << s;
return 0;
}