Submission #652169

#TimeUsernameProblemLanguageResultExecution timeMemory
652169pauloamedGlobal Warming (CEOI18_glo)C++14
52 / 100
48 ms1960 KiB
#include<bits/stdc++.h> using namespace std; const int MAXN = 200010; int N, X; int v[MAXN]; int main(){ cin.tie(NULL)->sync_with_stdio(false); cin >> N >> X; for(int i = 0; i < N; ++i) cin >> v[i]; vector<int> lis; int size_0 = 0; for(int i = 0; i < N; ++i){ { auto it = lower_bound(lis.begin(), lis.end(), v[i]+X); if(it == lis.end()) lis.push_back(v[i]+X); else *it = v[i]+X; } { auto it = lower_bound(lis.begin(), lis.end(), v[i]); assert(it != lis.end()); auto pos = min((int)(it - lis.begin()), size_0); lis[pos] = min(v[i], lis[pos]); size_0 = max(size_0, pos + 1); } // for(int j = 0; j < lis.size(); ++j){ // cout << lis[j] << " "; // } // cout << "\n"; } cout << lis.size() << "\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...