Submission #391945

#TimeUsernameProblemLanguageResultExecution timeMemory
391945kshitij_sodaniSwap (BOI16_swap)C++14
21 / 100
1075 ms332 KiB
//#pragma GCC optimize("Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; typedef long long llo; #define mp make_pair #define pb push_back #define a first #define b second llo n; llo it[200001]; vector<llo> ans; void brute(llo ind){ if(ind*2>n){ vector<llo> ss; for(llo i=1;i<=n;i++){ ss.pb(it[i]); } ans=min(ans,ss); } else if(ind*2==n){ llo x=it[ind]; llo y=it[ind*2]; llo xx=min(x,y); if(xx==x){ brute(ind+1); } else{ swap(it[ind],it[ind*2]); brute(ind+1); } it[ind]=x; it[ind*2]=y; } else{ llo x=it[ind]; llo y=it[ind*2]; llo z=it[ind*2+1]; llo xx=min(x,y); xx=min(xx,z); if(xx==x){ brute(ind+1); } else if(xx==y){ swap(it[ind],it[ind*2]); brute(ind+1); } else{ swap(it[ind],it[ind*2+1]); brute(ind+1); it[ind]=x; it[ind*2]=y; it[ind*2+1]=z; swap(it[ind],it[ind*2]); swap(it[ind],it[ind*2+1]); brute(ind+1); } it[ind]=x; it[ind*2]=y; it[ind*2+1]=z; } } int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cin>>n; for(llo i=0;i<n;i++){ cin>>it[i+1]; ans.pb(it[i+1]); } brute(1); for(auto j:ans){ cout<<j<<" "; } cout<<endl; //cout<<ans<<endl; return 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...