Cod sursa(job #2724332)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 16 martie 2021 22:35:53
Problema Lupul Urias si Rau Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("lupu.in");
ofstream out("lupu.out");

const int max_n = (int)1e5 + 5;

int n, x, l;

int d[max_n], c[max_n];

vector<int> v[max_n];

int main() {
  in >> n >> x >> l;
  for (int i = 1; i <= n; ++i) {
    in >> d[i] >> c[i];
    if (d[i] <= x) {
      int pos = (x - d[i]) / l;
      v[pos].push_back(i);
    }
  }
  priority_queue<int> pq;
  int ans = 0;
  for (int i = max_n - 5; i >= 0; --i) {
    for (int j : v[i]) {
      pq.push(c[j]);
    }
    if ((int)pq.size() > 0) {
      ans += pq.top();
      pq.pop();
    }
  }
  out << ans << "\n";
  return 0;
}