제출 #1326622

#제출 시각아이디문제언어결과실행 시간메모리
1326622jadai007Global Warming (CEOI18_glo)C++17
100 / 100
39 ms2484 KiB
#include <bits/stdc++.h> using namespace std; int n, x, it, a[200200], dp[200200], ans; vector<int> lis; int main(){ cin.tie(nullptr)->sync_with_stdio(false); cin >> n >> x; for(int i = 1; i <= n; ++i){ cin >> a[i]; it = lower_bound(lis.begin(), lis.end(), a[i]) - lis.begin(); if(it == lis.size()) lis.push_back(a[i]); else lis[it] = a[i]; dp[i] = it + 1; ans = max(ans, dp[i]); } lis.clear(); for(int i = n; i > 0; --i){ it = lower_bound(lis.begin(), lis.end(), -a[i] + x) - lis.begin(); ans = max(ans, it + dp[i]); it = lower_bound(lis.begin(), lis.end(), -a[i]) - lis.begin(); if(it == lis.size()) lis.push_back(-a[i]); else lis[it] = -a[i]; } 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...