Submission #589748

#TimeUsernameProblemLanguageResultExecution timeMemory
589748shrimbArranging Shoes (IOI19_shoes)C++17
45 / 100
252 ms148028 KiB
#include"bits/stdc++.h" using namespace std; #include "shoes.h" #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace __gnu_pbds; template<class x> using ordered_set = tree<x, null_type,less<x>, rb_tree_tag,tree_order_statistics_node_update>; long long count_swaps(std::vector<int> s) { int n = s.size(); int a[n]; queue<int> p[n + 1]; for (int i = 0 ; i < n ; i++) { if (s[i] > 0) p[s[i]].push(i); } int cnt = 0; for (int i = 0 ; i < n ; i++) { if (s[i] < 0) { a[i] = cnt++; a[p[-s[i]].front()] = cnt++; p[-s[i]].pop(); } } long long ret = 0; ordered_set<int> os; for (int i = 0 ; i < n ; i++) { ret += os.order_of_key(-a[i]); os.insert(-a[i]); } return ret; }
#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...