제출 #1118949

#제출 시각아이디문제언어결과실행 시간메모리
1118949hamzabcGlobal Warming (CEOI18_glo)C++14
0 / 100
37 ms2372 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 = upper_bound(all(LISnormal), in);
		if (k == LISnormal.end())
			LISnormal.push_back(in);
		else{
			*k = in;
		}
		k = upper_bound(all(LISmanuplated), in);
		if (k == LISmanuplated.end())
			LISmanuplated.push_back(in);
		else{
			*k = in;
		}
		k = upper_bound(all(LISnormal), in + D);
		k = LISmanuplated.begin() + (k - LISnormal.begin());
		if (k == LISmanuplated.end())
			LISmanuplated.push_back(in);
		else{
			while (k > LISmanuplated.begin() && *k < in)
				*k = in;
		}
	}
	cout << LISmanuplated.size();
	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...