제출 #1118971

#제출 시각아이디문제언어결과실행 시간메모리
1118971hamzabcGlobal Warming (CEOI18_glo)C++14
10 / 100
2088 ms3264 KiB
#include <bits/stdc++.h>
 
 
using namespace std;
 
 
#define all(x) x.begin(), x.end()
#define mod 1000000007
#define sp << " " <<
#define endl << '\n'


signed main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	long long int N, D;
	vector<long long int> LISmanuplated;
	vector<long long int> LISnormal;
	LISmanuplated.push_back(0);
	LISnormal.push_back(0);
	cin >> N >> D;
	for (int i = 0; i < N; i++){
		long long int in;
		cin >> in;
		auto k = lower_bound(all(LISnormal), in + D);
		k = LISmanuplated.begin() + (k - LISnormal.begin());
		if (k == LISmanuplated.end()){
			LISmanuplated.push_back(in);
		}else{
			while (*k > in){
				*k = in;
				k--;
			}
		}
		k = lower_bound(all(LISnormal), in);
		if (k == LISnormal.end()){
			LISnormal.push_back(in);
		}else{
			*k = in;
		}
		k = lower_bound(all(LISmanuplated), in);
		if (k == LISmanuplated.end()){
			LISmanuplated.push_back(in);
		}else{
			*k = in;
		}
	}
	cout << LISmanuplated.size() - 1;
	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...