Submission #1264497

#TimeUsernameProblemLanguageResultExecution timeMemory
1264497goulthenArcade (NOI20_arcade)C++20
100 / 100
113 ms8392 KiB
#include <bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i=a;i<=b;++i) #define per(i,a,b) for(int i=a;i>=b;--i) #define pii pair<int, int> #define pb push_back const int MAXN = 5e5 + 10; pii v[MAXN]; int t[MAXN], a[MAXN]; int32_t main(){ ios::sync_with_stdio(0);cin.tie(0); int n,m; cin >> n >> m; rep(i,1,m) cin >> t[i]; rep(i,1,m) cin >> a[i]; rep(i,1,m) v[i] = {t[i] + a[i], -(a[i]-t[i]+m)}; sort(v+1,v+m+1); vector<int> dp; rep(i,1,m) { int pos = lower_bound(dp.begin(), dp.end(), -v[i].second) - dp.begin(); if (pos == dp.size()) dp.pb(-v[i].second); else dp[pos] = -v[i].second; } cout << dp.size() << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...