Submission #1262829

#TimeUsernameProblemLanguageResultExecution timeMemory
1262829farbodchrA Huge Tower (CEOI10_tower)C++20
100 / 100
96 ms2632 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int mod = 1000000009;
int n, d;
int A[1000000];
ll ans = 1;

int main() {
    ios_base::sync_with_stdio(0); cin.tie(0);
    cin >> n >> d;
    for (int i = 0; i < n; i++) cin >> A[i];

    sort(A, A + n);
    
    for (int i = 0; i < n; i++) {
        int x = lower_bound(A, A + n, A[i] - d) - A;
        ans = ans * (i + 1ll - x) % mod;
    }

    cout << ans << "\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...