#include <bits/stdc++.h>
using namespace std;
inline void setup()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, m, l, r, c[100000], mid, res = 0;
pair<int, int> p[100000];
inline bool Check(int inp)
{
for (int i = 0, j = 0; i < n; ++i)
{
if (c[j] >= p[i].first)
{
j++;
}
if (j == inp)
{
return true;
}
}
return false;
}
inline bool comp(const pair<int, int> & ina, const pair<int, int> & inb)
{
return (ina.second != inb.second ? ina.second > inb.second : ina.first > inb.first);
}
int main()
{
setup();
cin >> n >> m;
for (int i = 0; i < n; ++i)
{
cin >> p[i].first >> p[i].second;
}
for (int i = 0; i < m; ++i)
{
cin >> c[i];
}
sort(c, c + m, greater<int>());
sort(p, p + n, comp);
l = 0;
r = min(n, m);
while (l <= r)
{
mid = (l + r) >> 1;
if (Check(mid))
{
res = mid;
l = mid + 1;
}
else
{
r = mid - 1;
}
}
cout << res;
return 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... |