Submission #499607

# Submission time Handle Problem Language Result Execution time Memory
499607 2021-12-29T02:42:36 Z cmsgr8er A Huge Tower (CEOI10_tower) C++17
100 / 100
274 ms 16004 KB
#include <bits/stdc++.h>
using namespace std;

int main() {
	long long n,d, K=1e9+9; cin >> n >> d;
	vector<long long> h(n); for (int i=0; i<n; i++) cin >> h[i];
	sort(h.begin(), h.end());
	vector<long long> dp(n); dp[0] = 1;
	for (int i=1; i<n; i++) {
		int lo = lower_bound(h.begin(), h.end(), h[i]-d)-h.begin();
		long long ok = i-lo;
		dp[i] = (dp[i-1]*(ok+1))%K;
	}
	cout << dp[n-1];
} 
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 296 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 288 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 272 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 292 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 272 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 204 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 332 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 25 ms 1436 KB Output is correct
2 Correct 25 ms 1428 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 132 ms 6564 KB Output is correct
2 Correct 117 ms 6572 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 264 ms 16004 KB Output is correct
2 Correct 274 ms 15352 KB Output is correct