Cod sursa(job #2809928)

Utilizator teodortatomirTeodor Tatomir teodortatomir Data 27 noiembrie 2021 21:58:12
Problema Lupul Urias si Rau Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <algorithm>
#include <queue>

using namespace std;

ifstream fin("lupu.in");
ofstream fout("lupu.out");
struct oi{
  int d,lana;
};
oi v[100001];
bool quicksort(oi a,oi b){
  return a.d<b.d;
}
priority_queue <int> h;
int main(){
  int n,x,l,i,poz;
  long long int s;

  fin>>n>>x>>l;
  for(i=0;i<n;i++)
    fin>>v[i].d>>v[i].lana;
  sort(v,v+n,quicksort);
  poz=s=0;
  i=0;
  while(i<=x){
    while(poz<n && v[poz].d<=i){
      h.push(v[poz].lana);
      poz++;
    }
    if(h.empty()==0){
      s=s+h.top();
      h.pop();
    }
    i+=l;
  }
  fin.close();

  fout<<s<<'\n';
  fout.close();
  return 0;
}