Submission #899716

# Submission time Handle Problem Language Result Execution time Memory
899716 2024-01-06T22:44:52 Z ivaziva A Huge Tower (CEOI10_tower) C++14
100 / 100
209 ms 8084 KB
#include <bits/stdc++.h>


using namespace std;


const int MOD = 1e9 + 9;


int main() {

	int n, d;

	cin >> n >> d;

	vector<int> ar(n);

	for (int i = 0; i < n; i++) { cin >> ar[i]; }

	sort(ar.begin(), ar.end());  // sort the blocks

	int r = 0, sol = 1;

	for (int l = 0; l < n; l++) {

		while (r < n - 1 && ar[r + 1] - ar[l] <= d) r++;

		int dist =

		    r - l +

		    1;  // largest tower we can built when ar[l] block is the base

		sol = (sol * 1LL * dist) % MOD;

	}

	cout << sol << '\n';

}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 17 ms 604 KB Output is correct
2 Correct 17 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 90 ms 1372 KB Output is correct
2 Correct 84 ms 1368 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 200 ms 2848 KB Output is correct
2 Correct 209 ms 8084 KB Output is correct