Submission #1322374

#TimeUsernameProblemLanguageResultExecution timeMemory
1322374ElayV13Arranging Shoes (IOI19_shoes)C++20
0 / 100
0 ms332 KiB
#include "shoes.h" #include "bits/stdc++.h" using namespace std; #define ll long long ll get(vector<int>p,vector<int>s) { vector<int>need; for(int i=0;i<p.size();i++) { need.push_back(-p[i]); need.push_back(p[i]); } int n=(int)s.size(); vector<bool>used(n,false); long long res=0; for(int i=0;i<need.size();i++) { if(need[i]>0) continue; long long f=-1,si=-1; for(int j=0;j<n;j++) { if(used[j]) continue; if(s[j]==abs(need[i])&&f==-1){ f=j; break; } } used[f]=1; for(int j=0;j<n;j++) { if(used[j]) continue; if(s[j]==need[i]&&si==-1){ si=j; break; } } used[si]=1; int add=max(0ll,f-i)+max(0ll,si-i); if(!add&&(f<si)) ++add; res+=add; } return res; } ll count_swaps(vector<int>s) { int n=(int)s.size(); vector<int>p; for(int i=0;i<n;i++) { if(s[i]>0) p.push_back(s[i]); } sort(p.begin(),p.end()); ll 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...