Submission #1326850

#TimeUsernameProblemLanguageResultExecution timeMemory
1326850hoangtien69Exhibition (JOI19_ho_t2)C++20
100 / 100
39 ms1596 KiB
#include<bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 5;
#define pii pair<int,int>

int n, m;
pii a[MAXN];
int c[MAXN];

bool ck(int x)
{
    int i = 1;
    int j = m - x + 1;
    int cnt = 0;
    while(i <= n and j <= m)
    {
        if (a[i].second <= c[j])
        {
            cnt++;
            i++;
            j++;
        }
        else
        {
            i++;
        }
    }
    return cnt >= x;
}

int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    cin >> n >> m;
    for (int i = 1; i <= n; i++)
    {
        cin >> a[i].second >> a[i].first;
    }
    for (int i = 1; i <= m; i++)
    {
        cin >> c[i];
    }
    sort(a + 1, a + n + 1);
    sort(c + 1, c + m + 1);
    int l = 0;
    int r = m;
    int ans = 0;
    while(l <= r)
    {
        int mid = (l + r) / 2;
        if (ck(mid))
        {
            ans = mid;
            l = mid + 1;
        }
        else
        {
            r = mid - 1;
        }
    }
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...