Submission #974018

#TimeUsernameProblemLanguageResultExecution timeMemory
974018canadavid1Swap (BOI16_swap)C++17
10 / 100
101 ms432 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; B++) { std::vector<int> curr = v; for(int i = 1; i <=N; i++) { if ((B>>(i-1))&1) std::swap(curr[i/2],curr[i]); } //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...