Submission #243091

#TimeUsernameProblemLanguageResultExecution timeMemory
243091idtjArranging Shoes (IOI19_shoes)C++14
10 / 100
5 ms384 KiB
#include "shoes.h" #include <deque> #include <cmath> using namespace std; long long count_swaps(vector<int> S) { int n = S.size() / 2; vector<deque<pair<int, int>>> a(n + 1); // pos / is_left vector<pair<int, int>> in(n * 2); // size / is_left for (int i = 0; i < n * 2; ++i) { int now = S[i]; if (now < 0) { in[i].second = 1; now = -now; } in[i].first = now; } long long ans = 0; for (int i = 0; i < n * 2; ++i) { auto &t = a[abs(in[i].first)]; if (t.empty() || t.front().second == in[i].second) { t.push_back(make_pair(i, in[i].second)); } else { if (t.front().second) { ans += i - t.front().first - 1; } else ans += i - t.front().first; t.pop_front(); } } 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...