Submission #1251060

#TimeUsernameProblemLanguageResultExecution timeMemory
1251060vpinxA Huge Tower (CEOI10_tower)C++20
100 / 100
120 ms10052 KiB
#include <bits/stdc++.h> using namespace std; #define int long long const int MOD = 1e9 + 9; int mod_mul(int a, int b) { int ans = 0; a %= MOD; while (b > 0) { if (b & 1) ans = (ans + a) % MOD; a = (a * 2) % MOD; b >>= 1; } return ans; } int solve() { int n, d; cin >> n >> d; vector<int> v(n); for (int i = 0; i < n; i++) cin >> v[i]; sort(v.begin(), v.end()); vector<int> ans(n); ans[0] = 1; int p1 = 0; for (int p2 = 1; p2 < n; p2++) { while (v[p1] + d < v[p2]) p1++; ans[p2] = mod_mul(ans[p2 - 1], p2 - p1 + 1); } return ans[n - 1]; } int32_t main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout << solve(); 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...