제출 #1175709

#제출 시각아이디문제언어결과실행 시간메모리
1175709PakinDioxideExhibition (JOI19_ho_t2)C++17
0 / 100
0 ms328 KiB
/*
    author  : PakinDioxide
    created : 29/03/2025 01:59
    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);
    ll n, m;
    cin >> n >> m;
    pair <ll, ll> a[n];
    ll c[m];
    for (auto &[y, x] : a) cin >> x >> y;
    for (auto &e : c) cin >> e;
    sort(a, a+n);
    sort(c, c+m);
    ll pos[n];
    for (int i = 0; i < n; i++) pos[i] = lower_bound(c, c+m, a[i].second) - c;
    ll dp[n], mx = 0;
    dp[n-1] = (pos[n-1] < m);
    for (int i = n-2; i >= 0; i--) {
        dp[i] = 0;
        if (pos[i] == m) continue;
        for (int j = i+1; j < n; j++) {
            if (pos[j] > pos[i]) dp[i] = max(dp[i], dp[j]+1);
            else dp[i] = max(dp[i], min(dp[j]+1, m-pos[i]));
        }
        mx = max(mx, dp[i]);
    }
    cout << mx << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...