Submission #747562

#TimeUsernameProblemLanguageResultExecution timeMemory
747562tch1cherinExhibition (JOI19_ho_t2)C++17
100 / 100
71 ms5324 KiB
#include <bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int N, M; cin >> N >> M; vector<int> S(N), V(N); for (int i = 0; i < N; i++) { cin >> S[i] >> V[i]; } vector<int> C(M); for (int i = 0; i < M; i++) { cin >> C[i]; } sort(C.begin(), C.end()); vector<int> p(N); iota(p.begin(), p.end(), 0); sort(p.begin(), p.end(), [&](int i, int j) { return V[i] < V[j] || (V[i] == V[j] && S[i] < S[j]); }); vector<int> suff(N); for (int i = N - 1; i >= 0; i--) { suff[i] = (int)C.size() - (lower_bound(C.begin(), C.end(), S[p[i]]) - C.begin()); } reverse(suff.begin(), suff.end()); int ans = 0; for (int i = 0; i < N; i++) { if (suff[i] > ans) { ans++; } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...