제출 #1213892

#제출 시각아이디문제언어결과실행 시간메모리
1213892dubabubaGlobal Warming (CEOI18_glo)C++20
100 / 100
75 ms2700 KiB
#include <bits/stdc++.h> using namespace std; const int INF = 1e9 + 10; const int mxn = 1e6 + 10; int n, x, a[mxn], dp[mxn]; int main() { cin >> n >> x; for(int i = 0; i < n; i++) cin >> a[i]; vector<int> MS(n + 1, INF); function<int(int)> replace = [&](int val) { int ind = lower_bound(MS.begin(), MS.end(), val) - MS.begin(); MS[ind] = val; return ind; }; for(int i = n - 1; i >= 0; i--) dp[i] = replace(-a[i]) + 1; MS.clear(); MS.resize(n + 1, INF); int ans = 0; for(int i = 0; i < n; i++) { int tmp = lower_bound(MS.begin(), MS.end(), a[i]) - MS.begin(); ans = max(ans, tmp + dp[i]); replace(a[i] - x); } cout << ans << endl; 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...