제출 #538450

#제출 시각아이디문제언어결과실행 시간메모리
538450pokmui9909Global Warming (CEOI18_glo)C++17
0 / 100
42 ms4960 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; ll N, X; ll A[200005], L[200005], R[200005]; int main(){ cin.tie(0) -> sync_with_stdio(false); cin >> N >> X; for(int i = 0; i < N; i++){ cin >> A[i]; } vector<ll> dp; for(int i = 0; i < N; i++){ if(dp.empty() || dp.back() < A[i]) dp.push_back(A[i]); else *lower_bound(dp.begin(), dp.end(), A[i]) = A[i]; L[i] = dp.size(); } dp.clear(); for(int i = N - 1; i >= 0; i--){ if(dp.empty() || dp.back() < A[i]) dp.push_back(A[i]); else *lower_bound(dp.begin(), dp.end(), A[i]) = A[i]; R[i] = dp.size(); } ll ans = 0; for(int i = 0; i < N; i++) ans = max(ans, L[i] + R[i] - 1); cout << ans; }
#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...