Submission #1172122

#TimeUsernameProblemLanguageResultExecution timeMemory
1172122blorgA Huge Tower (CEOI10_tower)C++20
30 / 100
170 ms5144 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;

int MOD = 1e9+9;

int main() {
	int n, d;
    cin>>n>>d;
    vector<int> t(n);
    for (int i = 0; i<n; i++) cin>>t[i];
    sort(t.begin(), t.end());
    vector<int> b(n);
    b[0]=0;
    int ans = 1;
    int j = 0;
    for (int i = 1; i<n; i++) {
        while (t[i]-t[j]>d) {
            j++;
        }
        b[i]=i-j;
        ans*=((b[i]+1)%MOD);
        // cout<<b[i]<<" ";
        // cout<<ans<<endl;
    }
    cout<<ans<<endl;
}
#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...