Submission #866510

#TimeUsernameProblemLanguageResultExecution timeMemory
86651012345678Global Warming (CEOI18_glo)C++17
0 / 100
2065 ms3920 KiB
#include <bits/stdc++.h> using namespace std; const int nx=2e5+5; int n, d, dp[nx], ans; int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>n>>d; vector<int> v(n), t; for (auto &x:v) cin>>x; for (int i=n-1; i>=0; i--) { auto itr=upper_bound(t.begin(), t.end(), -v[i]); dp[i]=itr-t.begin()+1; if (itr==t.end()) t.push_back(-v[i]); else *itr=-v[i]; } t.clear(); for (int i=0; i<n; i++) { auto itr=upper_bound(t.begin(), t.end(), v[i]); for (int j=i+1; j<n; j++) if (v[j]+d>v[i]) ans=max(ans, (int)(itr-t.begin())+1+dp[j]); if (itr==t.end()) t.push_back(v[i]); else *itr=v[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...