제출 #1120902

#제출 시각아이디문제언어결과실행 시간메모리
1120902chuyenluaga무제 (POI11_rot)C++17
36 / 100
1080 ms27464 KiB
// Source: https://oj.uz/problem/view/POI11_rot // State: Writing... #include <ext/pb_ds/assoc_container.hpp> #include <bits/stdc++.h> using namespace std; using namespace __gnu_pbds; //#define int long long template <class T> using Tree = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; long long ans = 0; Tree <int> solve(){ int x; Tree<int> s1,s2; cin >> x; if (x != 0){ s1.insert(x); return s1; } s1 = solve(); s2 = solve(); if (s1.size() < s2.size()) s1.swap(s2); //auto i1 = s1.begin(), i2 = s2.begin(); long long nghich = 0; for (int v : s2) nghich = nghich + s1.order_of_key(v); ans = ans + min((long long)nghich,(long long)s1.size()*(int)s2.size() - nghich); //cout << ans << endl; for (int v : s2){ s1.insert(v); } return s1; } int32_t main() { int n; cin >> n; solve(); cout << ans; }
#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...