제출 #593052

#제출 시각아이디문제언어결과실행 시간메모리
593052ZaniteSegments (IZhO18_segments)C++17
0 / 100
338 ms65536 KiB
// I am now here, but I have yet to prove that I am worthy of my place here. #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std; using namespace __gnu_pbds; using OrderedMultiset = tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>; struct FenwickTree { int sz; vector<OrderedMultiset> L, R; FenwickTree(int sz) : sz(sz) { L.assign(sz+1, OrderedMultiset()); R.assign(sz+1, OrderedMultiset()); } void update(int idx, int l, int r) { for (; idx > 0; idx -= (idx & -idx)) { L[idx].insert(l); R[idx].insert(r); } } }; int main() { mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int MX = 200000; uniform_int_distribution<int> uid(1, MX); FenwickTree F(MX); for (int i = 1; i <= MX; i++) { int l = uid(rng), r = uid(rng), k = uid(rng); F.update(k, l, r); } }
#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...