Submission #1165143

#TimeUsernameProblemLanguageResultExecution timeMemory
1165143altern23Exhibition (JOI19_ho_t2)C++20
100 / 100
38 ms2780 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<ll, ll> #define fi first #define sec second #define ld long double const ll N = 3e5; const ll INF = 4e18; const ll MOD = 1e9 + 7; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; // cin >> tc; for(;tc--;){ ll n, m; cin >> n >> m; vector<pii> a(n + 5); for(int i = 1; i <= n; i++){ cin >> a[i].fi >> a[i].sec; } sort(a.begin() + 1, a.begin() + 1 + n, [&](pii a, pii b){ if(a.sec == b.sec) return a.fi < b.fi; return a.sec < b.sec; }); vector<ll> c(m + 5); for(int i = 1; i <= m; i++){ cin >> c[i]; } sort(c.begin() + 1, c.begin() + 1 + m, greater<ll>()); ll l = 1, r = min(n, m), ans = 0; for(;l <= r;){ ll mid = (l + r) / 2; ll cur = mid; for(int i = 1; i <= n && cur >= 1;){ while(cur <= mid && i <= n && a[i].fi > c[cur]){ i++; } if(i > n) break; cur--, i++; } if(!cur){ ans = mid; l = mid + 1; } else r = mid - 1; } cout << ans << "\n"; } } /* */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...