Submission #740935

#TimeUsernameProblemLanguageResultExecution timeMemory
740935rnl42Global Warming (CEOI18_glo)C++14
100 / 100
60 ms4620 KiB
#include <bits/stdc++.h> using namespace std; constexpr int INF = 2e9; int N, X; vector<int> T; int main() { ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); cin >> N >> X; T.resize(N); for (int i = 0; i < N; i++) { cin >> T[i]; } int ans = 0; vector<int> d(N, INF); vector<int> m(N); d[0] = -INF; for (int i = 0; i < N; i++) { auto it = lower_bound(d.begin(), d.end(), T[i]+X); m[i] = it - d.begin(); it = lower_bound(d.begin(), d.end(), T[i]); *it = min(*it, T[i]); } fill(d.begin()+1, d.end(), INF); for (int i = N-1; i >= 0; i--) { auto it = lower_bound(d.begin(), d.end(), -T[i]); m[i] += it - d.begin() - 1; ans = max(ans, m[i]); *it = min(*it, -T[i]); } cout << ans << '\n'; }
#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...