Submission #540728

#TimeUsernameProblemLanguageResultExecution timeMemory
540728jakubdA Huge Tower (CEOI10_tower)C++17
30 / 100
112 ms11184 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+7;
  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...