제출 #1271334

#제출 시각아이디문제언어결과실행 시간메모리
1271334cmiucExhibition (JOI19_ho_t2)C++20
0 / 100
0 ms328 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; for (int i=n;i>=1;i--){ if (dp[i] > k and (dp[i] < m or dp[i-1] < k)) dp[i] = k; if (dp[i] < m) ans = max(ans, i); } } cout<<ans<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...