제출 #1283059

#제출 시각아이디문제언어결과실행 시간메모리
1283059nathako9nA Huge Tower (CEOI10_tower)C++20
70 / 100
1 ms580 KiB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define vi vector<int>
#define vll vector<ll>
#define pb push_back
#define eb emplace_back
#define mp make_pair
#define fi first
#define sec second
#define all(x) (x).begin(), (x).end()
#define endl '\n'
#define yes cout<<"YES\n"
#define no cout<<"NO\n"
//#define  ios::sync_with_stdio(false); cin.tie(nullptr);
#define fore(i,a,b) for(int i=(a); i<=(b); ++i)
#define forr(i,a,b) for(int i=(a); i>=(b); --i)

#define rep(i,n) for(int i=1;i<=(n);++i)
#define rep2(i,n) for(int i=0;i<(n);++i)

const ll INF = 1e18;
const int MOD = 1e9 + 9;
int dx[4] = {1, -1, 0, 0};
int dy[4] = {0, 0, 1, -1};
bool inrange(int i, int j, int n, int m){
    return (i >= 1 && j >= 1 && i <= n && j <= m);
}
/////////
/*


*/
const int N = 75;
int ar[N+3], n, d, b[N+3];
int main() {
    ios::sync_with_stdio(0);
    cin.tie(0);
    cin >>n >>d;
    fore(i,1, n)cin >> ar[i];
    sort(ar+1, ar+n+1);
    fore(i, 1, n){
        fore(j, 1, i-1){
            if(ar[i] <= ar[j]+d)b[i]++;
        }
        b[i]++;

    }
    ll ans = 1;
    fore(i, 2, n){
        ans = (ans * b[i]) % MOD;
    }
    cout << ans;
    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...