Submission #1199961

#TimeUsernameProblemLanguageResultExecution timeMemory
1199961ElayV13Arranging Shoes (IOI19_shoes)C++20
30 / 100
1095 ms4676 KiB
#include "shoes.h" #include "bits/stdc++.h" using namespace std; int get(vector < int > p , vector < int > s) { vector < int > req; for(int i : p) req.push_back(-i) , req.push_back(i); int res = 0; for(int i = 0;i < req.size();i++) { if(s[i] == req[i]) continue; int first = -1; for(int j = i;j < s.size();j++) { if(s[j] == req[i]) {first = j; break;} } int po = first; while(po != i) { ++res; swap(s[po] , s[po - 1]); --po; } } return res; } long long count_swaps(vector < int > s) { int n = s.size() / 2; vector < int > p; for(int i = 0;i < s.size();i++) { if(s[i] > 0) p.push_back(s[i]); } sort(p.begin() , p.end()); int res = get(p , s); while(next_permutation(p.begin() , p.end())) res = min(res , get(p , s)); return res; }
#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...