제출 #1339626

#제출 시각아이디문제언어결과실행 시간메모리
1339626kjtmpA Huge Tower (CEOI10_tower)C++20
100 / 100
85 ms5188 KiB
#include <bits/stdc++.h>
using ll = long long;
constexpr ll MOD = 1e9 + 9;

int main() {
  std::ios::sync_with_stdio(false);
  std::cin.tie(nullptr);

  ll n, d;
  std::cin >> n >> d;
  std::vector<ll> a(n);
  for (ll i = 0; i < n; ++i) std::cin >> a[i];
  std::sort(a.begin(), a.end());
  ll ans = 1;
  ll l = 0;
  for (ll i = 0; i < n; ++i) {
    while (a[l] < a[i] - d) {
      ++l;
    }
    ll count = i - l + 1;
    ans = (ans * count) % MOD;
  }
  std::cout << ans << '\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...