Submission #1085691

#TimeUsernameProblemLanguageResultExecution timeMemory
1085691vjudge1Global Warming (CEOI18_glo)C++17
100 / 100
39 ms5096 KiB
#include <bits/stdc++.h> using namespace std; int n, x; int t[200005]; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin >> n >> x; for (int i=0;i<n;i++) cin >> t[i]; vector<int> rez; int lis[n], najdolga; for (int i=0;i<n;i++) { auto it=lower_bound(rez.begin(), rez.end(), t[i]); int index=it-rez.begin(); lis[i]=index+1; if (it==rez.end()) rez.push_back(t[i]); else *it=t[i]; } najdolga=rez.size(); rez.clear(); int lds[n]; for (int i=n-1;i>=0;i--) { auto it=lower_bound(rez.begin(), rez.end(), -t[i]+x); int index=it-rez.begin(); lds[i]=index+1; it=lower_bound(rez.begin(), rez.end(), -t[i]); if (it==rez.end()) rez.push_back(-t[i]); else *it=-t[i]; } for (int i=0;i<n;i++) najdolga=max(najdolga, lis[i]+lds[i]-1); cout << najdolga; return 0; }
#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...