Submission #1325873

#TimeUsernameProblemLanguageResultExecution timeMemory
1325873matrix27A Huge Tower (CEOI10_tower)C++20
100 / 100
238 ms2824 KiB
#include<iostream>
#include<vector>
#include<algorithm>

using namespace std;
using ll = long long;

int main() {
    int N, D;
    cin >> N >> D;
    vector<int> lengths(N);
    for (int i = 0; i < N; i++) cin >> lengths[i];
    sort(lengths.begin(), lengths.end());
    ll combinations = 1;
    for (int i = N - 1; i >= 0; i--) {
        int count = upper_bound(lengths.begin(), lengths.end(), lengths[i] + D) - lengths.begin() - i;
        combinations *= count;
        combinations %= 1000000009;
    }
    cout << combinations << '\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...