Submission #831182

#TimeUsernameProblemLanguageResultExecution timeMemory
831182OAleksaExhibition (JOI19_ho_t2)C++14
0 / 100
1 ms340 KiB
#include <bits/stdc++.h> #define f first #define s second using namespace std; #define int long long const int maxn = 1e5 + 69; int n, m, s[maxn], v[maxn], c[maxn]; signed main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int tt = 1; //cin >> tt; while(tt--) { cin >> n >> m; for(int i = 0;i < n;i++) cin >> s[i] >> v[i]; for(int i = 0;i < m;i++) cin >> c[i]; vector<int> ord(n); iota(ord.begin(), ord.end(), 0); sort(ord.begin(), ord.end(), [&](int i, int j) { return v[i] < v[j]; }); sort(c, c + m); int l = 1, r = m, ans = 0; auto check = [&](int mid) { int cnt = 0, p = mid; for(int i = 0;i < n;i++) { int j = ord[i]; if(p > 0 && s[j] <= c[m - p]) --p, ++cnt; } return cnt >= mid; }; while(l <= r) { int mid = (l + r) / 2; if(check(mid)) { ans = mid; l = mid + 1; } else r = mid - 1; } cout << ans << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...