Submission #1021292

#TimeUsernameProblemLanguageResultExecution timeMemory
1021292induwara16Arranging Shoes (IOI19_shoes)C++17
0 / 100
1 ms344 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; #define itr(a) a.begin(), a.end() typedef vector<int> vi; typedef unordered_map<int, int> mii; void move(mii &chain, mii &rev, int a, int b) { chain[rev[a]] = chain[a]; rev[chain[a]] = rev[a]; chain[a] = chain[b]; rev[chain[b]] = a; chain[b] = a; rev[a] = b; } int cost(mii chain, int a, int b, int c = 0) { if (a == b) return c; c++; return cost(chain, chain[a], b, c); } long long count_swaps(vi s) { int n = s.size(), l = 0; // long long c = 0; // mii chain, rev; // unordered_map<int, priority_queue<int>> ref; // chain[-1] = 0; // rev[0] = -1; // for (int i = 0; i < n; i++) // { // if (i != n - 1) // { // chain[i] = i + 1; // rev[i + 1] = i; // } // ref[s[i]].push(-i); // } // int fi = *find_if(itr(s), [](int i) // { return i < 0; }); // int f = -ref[fi].top(); // l = f; // if (fi != s[0]) // { // c += f; // move(chain, rev, f, -1); // } // for (int i = 0; i < n / 2; i++) // { // int ln = s[l], li; // li = -ref[-ln].top(); // ref[ln].pop(); // ref[-ln].pop(); // if (ln < 0) // { // c += cost(chain, l, li) - 1; // move(chain, rev, li, l); // l = chain[li]; // } // else // { // c += cost(chain, l, li); // move(chain, rev, li, rev[l]); // l = chain[l]; // } // } return n / 2 * (n / 2 + 1) / 2; }

Compilation message (stderr)

shoes.cpp: In function 'long long int count_swaps(vi)':
shoes.cpp:33:20: warning: unused variable 'l' [-Wunused-variable]
   33 |  int n = s.size(), l = 0;
      |                    ^
#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...