Submission #868312

# Submission time Handle Problem Language Result Execution time Memory
868312 2023-10-31T04:11:17 Z overwatch9 A Huge Tower (CEOI10_tower) C++17
15 / 100
202 ms 19628 KB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
using ll = long long;
const int mod = 1e9 + 9;
vector <ll> dp, nums, perm;
int n, d;
ll solve(int i) {
    if (i <= 0)
        return 1;
    if (dp[i] != -1)
        return dp[i];
    int l = lower_bound(nums.begin() + 1, nums.end(), nums[i] - d) - nums.begin();
    int r = upper_bound(nums.begin() + 1, nums.end(), nums[i] + d) - nums.begin();
    r--;
    ll ans = solve(l-1) * perm[r - l + 1];
    ans %= mod;
    dp[i] = ans;
    return ans;
}
int main() {
    cin >> n >> d;
    dp.resize(n+1, -1);
    nums.resize(n+1);
    perm.resize(n+1);
    perm[1] = 1;
    for (int i = 2; i <= n; i++)
        perm[i] = (perm[i-1] * i) % mod;
    for (int i = 1; i <= n; i++)
        cin >> nums[i];
    sort(nums.begin(), nums.end());
    cout << solve(n) << '\n';
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 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 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 4 ms 604 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 19 ms 1996 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 93 ms 8528 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 202 ms 19628 KB Output isn't correct
2 Halted 0 ms 0 KB -