Submission #540729

#TimeUsernameProblemLanguageResultExecution timeMemory
540729jakubdA Huge Tower (CEOI10_tower)C++17
100 / 100
115 ms10540 KiB
#include <bits/stdc++.h>

using namespace std;

#define int long long

signed main() {
  ios_base::sync_with_stdio(false); cin.tie(0);

  const int mod = 1e9+9;
  int n, d; cin >> n >> d;
  vector<int> a(n); for (auto &x : a) cin >> x;
  sort(a.begin(), a.end());

  int ans = 1;
  for (int l = 0, r = 0; l < n; l++) {
    while (r + 1 < n && a[r + 1] - a[l] <= d) r++;
    ans = ans * (r - l + 1) % mod;
  }
  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...