제출 #411801

#제출 시각아이디문제언어결과실행 시간메모리
411801timmyfengArranging Shoes (IOI19_shoes)C++17
100 / 100
640 ms34528 KiB
#include <bits/stdc++.h> using namespace std; #include <bits/extc++.h> template <class T, class Comp = less<T>> using ordered_set = __gnu_pbds::tree< T, __gnu_pbds::null_type, Comp, __gnu_pbds::rb_tree_tag, __gnu_pbds::tree_order_statistics_node_update >; long long count_swaps(vector<int> s) { int n = s.size() / 2; map<int, vector<int>> nxt; ordered_set<int> shoes; for (int i = 2 * n - 1; i >= 0; --i) { nxt[s[i]].push_back(i); shoes.insert(i); } long long ans = 0; while (!shoes.empty()) { auto i = *shoes.begin(); shoes.erase(shoes.begin()); int x = s[i]; nxt[x].pop_back(); int j = nxt[-x].back(); nxt[-x].pop_back(); ans += shoes.order_of_key(j) + (x > 0); shoes.erase(j); } return 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...