Submission #434127

#TimeUsernameProblemLanguageResultExecution timeMemory
434127dhakiptkA Huge Tower (CEOI10_tower)C++17
100 / 100
160 ms8744 KiB
// https://oj.uz/problem/view/CEOI10_tower #include <bits/stdc++.h> // Common file #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; using namespace std; using ll = long long; using pi = pair<int, int>; using ti = tuple<int, int, int>; using tl = tuple<ll, ll, ll>; using pil = pair<int, ll>; using pli = pair<ll, int>; using pl = pair<ll, ll>; using vi = vector<int>; using vl = vector<ll>; using vpi = vector<pi>; using vpil = vector<pil>; using vpli = vector<pli>; using vpl = vector<pl>; using vti = vector<ti>; using vtl = vector<tl>; using vvi = vector<vi>; using vvl = vector<vl>; using vvpi = vector<vpi>; using vvpil = vector<vpil>; using vvpli = vector<vpli>; using vvpl = vector<vpl>; using vvti = vector<vti>; using vvtl = vector<vtl>; using oset = tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update>; using omset = tree<pair<int,int>, null_type, less<pair<int, int>>, rb_tree_tag, tree_order_statistics_node_update>; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int INF = INT_MAX; const ll LINF = LLONG_MAX; const int MOD = 1000000000 + 9; #define setbits(n) __builtin_popcount(n) #define len(x) (int)size(x) void setIO(string name = "") { ios_base::sync_with_stdio(false); cin.tie(nullptr); if (len(name)) { ignore = freopen((name + ".in").c_str(), "r", stdin); ignore = freopen((name + ".out").c_str(), "w", stdout); } } int main() { setIO(); int n, d; cin >> n >> d; vi v(n); for (int i = 0; i < n; i++) { cin >> v[i]; } sort(v.begin(), v.end()); ll ans = 1; for (int i = 1; i < n; i++) { auto dist = (v.begin() + i) - (lower_bound(v.begin(), v.begin() + i, v[i] - d)) + 1; ans = ans * dist; ans %= 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...