Submission #480408

#TimeUsernameProblemLanguageResultExecution timeMemory
480408nehasaneA Huge Tower (CEOI10_tower)C++14
5 / 100
105 ms2636 KiB
#include <bits/stdc++.h>
using namespace std;
const int mod = 1000000009;
long long factorial(int s){
    long long ans = 1;
    for (int i = s; i >= 1; i--)
        ans *= i;
    return ans;
}
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n, d;
    cin >> n >> d;
    vector <int> blocks(n);
    for (int i = 0; i < n; i++)
        cin >> blocks[i];
    sort(begin(blocks), end(blocks));
    long long ans = 1;
    ans = 1;
    for (int l = 0; l < n; l++){
        int r = l;
        while (r < n){
            if (blocks[l] + d < blocks[r])
                break;
            r++;
        }
        ans = (ans * factorial(r-l)) % mod;
        l = r-1;
    }
    cout << ans << '\n';
}
#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...