Submission #1307457

#TimeUsernameProblemLanguageResultExecution timeMemory
1307457rubypowerscrollA Huge Tower (CEOI10_tower)C++20
100 / 100
219 ms2840 KiB
#include <bits/stdc++.h>
constexpr int_fast64_t MOD = 1e9+9;
int main()
{
	using namespace std;
	int n,d;
	cin>>n>>d;
	vector<int> sz(n);
	for(auto &x : sz)
		cin>>x;
	sort(sz.begin(),sz.end());
	int ans=1;
	for (int t = 0, h = 1; t < n && h < n; ++h) {
		for (; t < n && sz[t] < sz[h] - d; ++t);
		ans = ans * (h + 1ll - t) % MOD;
	}
	cout<<ans<<"\n";
}
#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...