Submission #465371

#TimeUsernameProblemLanguageResultExecution timeMemory
465371aris12345678Arranging Shoes (IOI19_shoes)C++14
0 / 100
0 ms204 KiB
#include "shoes.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; #define X first #define Y second const int mxN = 100005; bool check(vector<pii> s) { int n = int(s.size()); for(int i = 1; i < n; i+=2) { if(s[i].X != -s[i-1].X) return false; } return true; } ll count_swaps(vector<int> s) { int n = int(s.size()); if(n <= 16) { vector<pii> shoes; for(int i = 0; i < n; i++) shoes.push_back({s[i], i}); sort(shoes.begin(), shoes.end()); ll ans = LLONG_MAX; do { ll res = 0; if(!check(shoes)) continue; for(int i = 0; i < n; i++) res += abs(shoes[i].Y-i-1); ans = min(ans, res); } while(next_permutation(shoes.begin(), shoes.end())); return ans; } else { n /= 2; n--; return 1LL*n*(n+1)/2; } assert(true); }
#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...