Pagini recente » Cod sursa (job #1891734) | Cod sursa (job #2509513) | Cod sursa (job #2631122) | Cod sursa (job #2797308) | Cod sursa (job #3243675)
#include <iostream>
#include <queue>
#include <fstream>
#include <utility>
using namespace std;
ifstream in("lupu.in");
ofstream out("lupu.out");
pair<unsigned int, unsigned int> H;
priority_queue<pair<unsigned int, unsigned int>, vector<pair<unsigned int,unsigned int> > > pq;
int main(){
unsigned int N, X, L;
in >> N >> X >> L;
for(int i = 0; i<N; i++){
unsigned int D, F;
in >> D >> F;
H = make_pair(F, D);
pq.push(H);
}
unsigned int total = 0;
unsigned int step = 0;
while(pq.empty() == false){
unsigned int add = L * step;
if(pq.top().second + add <= X){
total+=pq.top().first;
step++;
}
pq.pop();
}
out << total;
}