Submission #1271325

#TimeUsernameProblemLanguageResultExecution timeMemory
1271325cmiucExhibition (JOI19_ho_t2)C++20
0 / 100
0 ms324 KiB
#include <iostream> #include <vector> #include <algorithm> using namespace std; int dp[1<<17]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, m, ans = 0; cin>>n>>m; vector<pair<int,int>> vec(n); vector<int> c(m); for (int i=0;i<n;i++) cin>>vec[i].second>>vec[i].first; sort(begin(vec), end(vec)); for (int i=0;i<m;i++) cin>>c[i]; sort(begin(c), end(c)); for (int i=1;i<=n;i++) dp[i] = 2e9; dp[0] = -1; for (auto [b, a] : vec){ int k = upper_bound(begin(c), end(c), a - 1) - begin(c); int u = upper_bound(dp, dp + n + 1, k) - dp; if (dp[u-1] >= m-1 or k == m) continue; dp[u] = max(k, dp[u-1] + 1); ans = max(ans, u); } cout<<ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...