# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1216891 | stdfloat | Exhibition (JOI19_ho_t2) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define ff first
#define ss second
#define pii pair<int, int>
#define sz(v) (int)(v).size()
#define all(v) (v).begin(), (v).end()
int main() {
ios::sync_with_stdio(false); cin.tie(nullptr);
int n, m;
cin >> n >> m;
pii p[n];
for (int i = 0; i < n; i++)
cin >> p[i].ff >> p[i].ss;
sort(p, p + n);
vector<int> C(m);
for (auto &i : C)
cin >> i;
sort(all(C));
int mx = 0;
for (int mk = 0; mk < 1 << n; mk++) {
bool tr = true;
int c = -1, pre = -1, cnt = 0;
for (int i = 0; i < n; i++) {
if (!(mk >> i & 1)) {
cnt++;
if (pre > p[i].ss) {
tr = false; break;
}
pre = p[i].ss;
c = lower_bound(c + 1 + all(C), p[i].ff) - C.begin();
if (c == m ) {
tr = false; break;
}
}
}
if (tr) mx = max(mx, cnt);
}
cout << mx;
}