제출 #1262898

#제출 시각아이디문제언어결과실행 시간메모리
1262898ermiooo158A Huge Tower (CEOI10_tower)C++20
90 / 100
44 ms1864 KiB

#include <iostream>
#include <algorithm>
using namespace std;

int const maxn = 2e5 + 15, mod = 1e9 + 9;
long long int a[maxn], n, d;

void findAns() {
	
}

void read_input() {

}

int main(){
	//migmig;
	//precalc();
	//int t = 1;//cin >> t;
	//while(t--){
		cin >> n >> d;
	for(int i = 0;i < n;i++)
		cin >> a[i];
	long long int ans = 1;
	sort(a, a + n);
	long long int p1 = 0, p2 = 0;
	while(p1 < n) {
		while(p2 + 1 < n && a[p2 + 1] <= a[p1] + d)
			p2++;
		int val = p2 - p1 + 1;
		ans = (long long int)(1LL * ans * val) % mod;
		p1++;
	}
	cout << ans << endl;
	//}
}
#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...
#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...
#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...