Cod sursa(job #3243675)

Utilizator RosheRadutu Robert Roshe Data 20 septembrie 2024 12:19:53
Problema Lupul Urias si Rau Scor 8
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#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;
}