Submission #1233581

#TimeUsernameProblemLanguageResultExecution timeMemory
1233581retr0foxxArranging Shoes (IOI19_shoes)C++20
10 / 100
4 ms4936 KiB
#include "shoes.h" #include <iostream> using haha = int; #define int long long #define printf #define MAXN 100005 std::vector<int> stack_neg[MAXN]; std::vector<int> stack_pos[MAXN]; long long count_swaps(std::vector<haha> s) { // printf("where is it breaking?\n"); int result = 0; for (int i = 0; i < s.size(); ++i) { // printf("wat da hell\n"); int current = s[i]; int left = current < 0; current = std::abs(current); if (left && stack_pos[current].size()) { printf("negative %i in index %i got a pair in %i\n", current, i, stack_pos[current].back()); result += i - stack_pos[current].back(); stack_pos[current].pop_back(); } else if (left) stack_neg[current].push_back(i); if (!left && stack_neg[current].size()) { printf("positive %i in index %i got a pair in %i\n", current, i, stack_neg[current].back()); result += i - stack_neg[current].back() - 1; stack_neg[current].pop_back(); } else if (!left) stack_pos[current].push_back(i); } // std::cout << result << std::endl; return result; }
#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...