제출 #1164386

#제출 시각아이디문제언어결과실행 시간메모리
1164386julia_08A Huge Tower (CEOI10_tower)C++20
100 / 100
81 ms10056 KiB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

const ll MOD = 1e9 + 9;

int main(){
  cin.tie(0)->sync_with_stdio(0);

  int n; ll d; cin >> n >> d;

  vector<ll> h(n), dp(n);

  for(int i=0; i<n; i++){
    cin >> h[i];
  }

  sort(h.begin(), h.end());

  dp[0] = 1;

  int l = 0;

  for(int i=1; i<n; i++){

    while(h[i] - h[l] > d) l ++;

    dp[i] = (dp[i - 1] * (i - l + 1)) % MOD;

  }

  cout << dp[n - 1] << "\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...