Submission #1215238

#TimeUsernameProblemLanguageResultExecution timeMemory
1215238nataliaaGlobal Warming (CEOI18_glo)C++20
100 / 100
71 ms3400 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long void test_case() { int n; int x; cin >> n >> x; int a[n]; for (int i = 0; i < n; i++) cin >> a[i]; vector<int> v(n, 1e9+5); int ans = 0; int a1[n]={}; for (int i = 0; i < n; i++) { int l = lower_bound(v.begin(), v.end(), a[i]) - v.begin(); v[l] = a[i]; a1[i] = l + 1; ans = max(ans, a1[i]); } vector<int> v1(n, 1e9+5); for (int i = n - 1; i >= 0; i--) { int l = lower_bound(v1.begin(), v1.end(), -a[i] + x) - v1.begin(); ans = max(ans, a1[i] + l); int r = lower_bound(v1.begin(), v1.end(), -a[i]) - v1.begin(); v1[r] = -a[i]; } cout << ans; } int main() { int t; t=1; while (t--) test_case(); }
#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...