#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].ss >> p[i].ff;
sort(p, p + n);
vector<int> c(m);
for (auto &i : c)
cin >> i;
sort(all(c));
vector<int> dp(m, m);
for (int i = 0; i < n; i++) {
vector<int> ndp = dp;
ndp[0] = min(dp[0], int(lower_bound(all(c), p[i].ss) - c.begin()));
for (int j = 1; j < m; j++)
if (dp[j - 1] + 1 < m) ndp[j] = min(dp[j], int(lower_bound(dp[j - 1] + 1 + all(c), p[i].ss) - c.begin()));
dp = ndp;
}
for (int i = m - 1; i >= -1; i--)
if (!~i || dp[i] != m) return cout << i + 1, 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |