Submission #1191813

#TimeUsernameProblemLanguageResultExecution timeMemory
1191813PakinDioxideExhibition (JOI19_ho_t2)C++17
0 / 100
1 ms328 KiB
/*
    author  : PakinDioxide
    created : 25/04/2025 20:25
    task    : JOI19_ho_t2
*/
#include <bits/stdc++.h>
#define ll long long

using namespace std;

int main() {
    ios::sync_with_stdio(0), cin.tie(0);
    int n, m;
    cin >> n >> m;
    pair <ll, ll> A[n], K[n];
    ll b[m];
    for (auto &[x, y] : A) cin >> y >> x;
    for (auto &e : b) cin >> e;
    sort(b, b+m);
    sort(A, A+n);
    for (int i = 0; i < n; i++) K[i] = make_pair(A[i].second, i);
    sort(K, K+n);
    int l = 1, r = min(n, m), ans = 0;
    while (l <= r) {
        int x = l + (r-l)/2;
        vector <pair <int, int>> V;
        for (int i = 0; i < x; i++) V.emplace_back(K[i].second, K[i].first);
        sort(V.begin(), V.end());
        bool ok = 1;
        for (int i = m-1; i >= m-x; i--) ok = min(ok, (V[x-(m-1-i)-1].second <= b[i]));
        if (ok) l = x+1, ans = x;
        else r = x-1;
    }
    cout << ans << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...