Submission #762691

# Submission time Handle Problem Language Result Execution time Memory
762691 2023-06-21T16:26:09 Z hfoliacots A Huge Tower (CEOI10_tower) C++14
100 / 100
236 ms 14748 KB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main() {
	int n, d;
	int inf = 1e9+9;
	cin >> n >> d;
	vector<int> a(n);
	for (int i = 0; i < n; i++) cin >> a[i];
	sort(a.begin(), a.end());
	vector<int> b(n);
	int j = n-2;
	int cont = 1;
	for (int i = n-1; i > -1; i--) {
		while (j >= 0 && a[i] <= a[j]+d) {
			j--;
			cont++;
		}
		cont--;
		b[i] = cont % inf;
	}
	vector<int> dp(n);
	dp[0] = 1;
	for (int i = 1; i < n; i++) {
		dp[i] = (dp[i-1] * (b[i] + 1)) % inf;
	}
	//print(dp);
	cout << dp[n-1] << endl;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 18 ms 1460 KB Output is correct
2 Correct 18 ms 1468 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 90 ms 6096 KB Output is correct
2 Correct 95 ms 6088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 211 ms 14736 KB Output is correct
2 Correct 236 ms 14748 KB Output is correct