Submission #1262899

#TimeUsernameProblemLanguageResultExecution timeMemory
1262899ermiooo158A Huge Tower (CEOI10_tower)C++20
0 / 100
1096 ms5188 KiB
#include <algorithm>
#include <iostream>
using namespace std;

const int mod = 1e9 + 9;

int main() {
	long long int n, d;
	cin >> n >> d;
	long long int a[n];
		for(int i = 0;i < n;i++) { 
	cin >> a[i]; 
	}
	sort(a, a + n);
	long long int p2 = 0;
	long long int ans = 1;
	long long int p1 = 0;
	while(p1 < n) {
		while (p2 < n - 1 && a[p2 + 1] - a[p1] <= d) { 
		p2++; 
		}
		long long int val = p2 - p1 + 1;
		ans = (1LL * ans * val) % mod;
	}

	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...