Submission #1238384

#TimeUsernameProblemLanguageResultExecution timeMemory
1238384Joon_YorigamiThe Collection Game (BOI21_swaps)C++17
0 / 100
0 ms408 KiB
#include <bits/stdc++.h> #include "swaps.h" using namespace std; using ll=long long; using vll=vector<long long>; const ll inf=LONG_LONG_MAX; void solve(int n,int v) { vector<int> ans; for(int i=1;i<=n;i++) ans.push_back(i); vector<vll> swaps; for(int p=1;p<n;p<<=1) { for(int k=p;k>=1;k>>=1) { vector<vll>().swap(swaps); for(int j=k%p;j<=n-1-k;j+=k+k) { for(int i=0;i<=min(k-1,n-j-k-1);i++) { if((i+j)/(p*2)==(i+j+k)/(p*2)) { schedule(ans[i+j],ans[i+j+k]); swaps.push_back(vll({ans[i+j],ans[i+j+k]})); } } } vector<int> res = visit(); for(int i=0;i<res.size();i++) { if(res[i]==1) swap(ans[swaps[i][0]],ans[swaps[i][1]]); } } } answer(ans); }
#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...
#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...