제출 #1261507

#제출 시각아이디문제언어결과실행 시간메모리
1261507kargneqA Huge Tower (CEOI10_tower)C++20
0 / 100
65 ms5332 KiB
#include <bits/stdc++.h>
using namespace std;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	int n;
	long long d;
	if (!(cin >> n >> d)) return 0;
	vector<long long> a(n);
	for (int i = 0; i < n; ++i) cin >> a[i];
	sort(a.begin(), a.end());

	long long MOD = 1000000009;  // uncomment if the problem statement
	// requires it
	long long ans = 1;

	int left =
		0;  // counts how many indices < right satisfy a[left] + d <= a[right]
	for (int right = 0; right < n; ++right) {
		while (left < right && a[left] + d <= a[right]) {
			++left;
		}
		// number of valid bottoms for this top is exactly 'left'
		// multiply the running product
		ans = (ans * max(0, left)) % MOD;  // if using modulo
	}

	cout << ans << '\n';
	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...
#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...