Submission #1212136

#TimeUsernameProblemLanguageResultExecution timeMemory
1212136tarcheExhibition (JOI19_ho_t2)C++20
100 / 100
41 ms1612 KiB
#include <bits/stdc++.h>
#define rep(i, a, b) for (int i = a; i < (b); ++i)
#define per(i, a, b) for (int i = (int)(b) - 1; i >= (a); --i)
#define all(x) begin(x), end(x)
#define sz(x) (int)(x).size()

using namespace std;
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;
using vii = vector<pii>;
using vb = vector<bool>;
using vl = vector<ll>;

int main() {
  cin.tie(0)->sync_with_stdio(0);

  int n, m;
  cin >> n >> m;
  vii a(n);
  vi b(m);
  rep(i, 0, n) cin >> a[i].first >> a[i].second;
  rep(i, 0, m) cin >> b[i];

  sort(all(a), [&](pii lhs, pii rhs) {
    if (lhs.second != rhs.second) return lhs.second < rhs.second;
    return lhs.first < rhs.first;
  });
  sort(all(b));

  int ans = 0;
  while (not a.empty() && not b.empty()) {
    if (b.back() >= a.back().first) {
      ans++;
      a.pop_back(), b.pop_back();
    } else {
      a.pop_back();
    }
  }
  cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...