제출 #652176

#제출 시각아이디문제언어결과실행 시간메모리
652176pauloamedGlobal Warming (CEOI18_glo)C++14
100 / 100
44 ms4140 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<pair<int,int>> lis; // first: sem X // second: sem ou com X for(int i = 0; i < N; ++i){ { auto it = lower_bound(lis.begin(), lis.end(), v[i]+X, [](pair<int,int> el, int x){ return x > min(el.first, el.second); } ); if(it == lis.end()) lis.push_back({INT_MAX, v[i]+X}); else it->second = v[i]+X; } { auto it = lower_bound(lis.begin(), lis.end(), v[i], [](pair<int,int> el, int x){ return x > el.first; } ); it->first = v[i]; } // for(int j = 0; j < lis.size(); ++j){ // cout << lis[j].first << " " << lis[j].second << " , "; // } // 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...