Submission #726414

#TimeUsernameProblemLanguageResultExecution timeMemory
726414professionalACerA Huge Tower (CEOI10_tower)C++17
100 / 100
273 ms11140 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;
const int mod = 1e9 + 9;
signed main() {
  int N, D;
  cin >> N >> D;
  int A[N];
  for (auto &x : A) cin >> x;
  sort(A, A + N);
  int p = 0, ans = 1;
  for (int i = 0; i < N; i++) {
    while (p < N - 1 && A[p + 1] - A[i] <= D) p++;
    int d = p - i + 1;
    ans = (ans * d) % mod;
  }
  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...