Submission #935219

#TimeUsernameProblemLanguageResultExecution timeMemory
935219MinaRagy06Fun Tour (APIO20_fun)C++17
0 / 100
1 ms348 KiB
#include <bits/stdc++.h> #ifdef MINA #include "grader.cpp" #endif #include "fun.h" using namespace std; #define ll long long vector<int> ans; set<int> rem; int n; void solve(int i) { if (rem.find(i) == rem.end()) { return; } if ((i << 1) > n) { ans.push_back(i); rem.erase(ans.back()); return; } rem.erase(i); vector<int> v[2]; for (auto j : rem) { if (j == i) continue; int diff = __lg(j) - __lg(i << 1); v[(j >> diff) != (i << 1)].push_back(j); } int cur = 0; while (v[1].size()) { ans.push_back(v[cur].back()); rem.erase(ans.back()); v[cur].pop_back(); cur ^= 1; } solve(i << 1); ans.push_back(i); } vector<int> createFunTour(int _n, int q) { n = _n; for (int i = 1; i <= n; i++) { rem.insert(i); } solve(1); for (auto &i : ans) i--; return 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...