Submission #762664

# Submission time Handle Problem Language Result Execution time Memory
762664 2023-06-21T16:13:46 Z Alma A Huge Tower (CEOI10_tower) C++17
100 / 100
102 ms 11228 KB
#include <bits/stdc++.h>
using namespace std;

long long MOD = 1e9+9;

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

    int n, d;
    cin >> n >> d;

    vector<int> a(n), b(n);

    for (int& i: a) cin >> i;
    sort(a.begin(), a.end());

    int k = 0;

    for (int i = 0; i < n; i++) {
        while (a[k] + d < a[i]) {
            k++;
        }
        b[i] = n-k-1;
    }

    for (int i = 0; i < n; i++) {
        b[i] = b[i] - (n-i) + 1;
        b[i]++;
    }

    long long ans = 1;
    for (int i = 0; i < n; i++) {
        ans *= max(b[i], 1);
        ans %= MOD;
    }

    cout << ans << endl;

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 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 1 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 1 ms 316 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 1 ms 316 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 1 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 1 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 1 ms 324 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 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 500 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 1220 KB Output is correct
2 Correct 9 ms 1092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 44 ms 4720 KB Output is correct
2 Correct 42 ms 4704 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 89 ms 11228 KB Output is correct
2 Correct 102 ms 10532 KB Output is correct