Submission #974016

#TimeUsernameProblemLanguageResultExecution timeMemory
974016canadavid1Swap (BOI16_swap)C++17
0 / 100
0 ms344 KiB
#include <iostream> #include <vector> #include <set> #include <algorithm> int main() { std::cin.tie(0)->sync_with_stdio(false); int N; std::cin >> N; std::vector<int> v(N); for(auto& i : v) std::cin >> i; v.insert(v.begin(),0); std::vector<int> out(N+1,0); std::vector<int> ls = v; // for(auto& i : ls) std::cerr << i; // std::cerr << "\n"; for(int B = 0; B < 1<<((N+1)/2); B++) { std::vector<int> curr = v; for(int i = 1; i < (N+1)/2; i++) { if ((B>>i)&1) std::swap(curr[i],curr[i*2]); if (curr[i*2+1] < curr[i]) std::swap(curr[i],curr[i*2+1]); } if ((N&1)==0 && curr[N] > curr[N/2]) std::swap(curr[N],curr[N/2]); // for(auto& i : curr) std::cerr << i; // std::cerr << "\n"; int i = 0; for(;i <= N && ls[i]==curr[i];i++); if (curr[i] < ls[i]) ls = curr; } ls.erase(ls.begin()); for(auto i : ls) std::cout << i << " "; std::cout << "\n"; }
#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...