제출 #765449

#제출 시각아이디문제언어결과실행 시간메모리
765449ind1vExhibition (JOI19_ho_t2)C++11
100 / 100
43 ms4980 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 100005;

int n, m;
int s[N], v[N], c[N];
int ord[N];

int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cin >> n >> m;
  for (int i = 1; i <= n; i++) {
    cin >> s[i] >> v[i];
  }
  for (int i = 1; i <= m; i++) {
    cin >> c[i];
  }
  iota(ord + 1, ord + n + 1, 1);
  sort(ord + 1, ord + n + 1, [](int &i, int &j) -> bool {
    return v[i] > v[j] || (v[i] == v[j] && s[i] > s[j]);
  });
  sort(c + 1, c + m + 1, greater<int>());
  int ans = 0;
  for (int i = 1, j = 1; i <= m; i++) {
    while (j < n && s[ord[j]] > c[i]) {
      ++j;
    }
    if (j <= n && s[ord[j]] <= c[i]) {
      ++ans;
      ++j;
    }
  }
  cout << ans;
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...