#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |