Submission #713239

#TimeUsernameProblemLanguageResultExecution timeMemory
713239KoDSuper Dango Maker (JOI22_dango3)C++17
100 / 100
745 ms756 KiB
#include "dango3.h" #include <vector> void Solve(int N, int M) { auto dfs = [&](auto&& self, std::vector<int> v) -> void { const int size = (int)v.size() / N; if (size == 1) { Answer(v); } else { const int half = size / 2; std::vector<int> v2; for (int i = 0; i < (int)v.size();) { const int x = v[i]; std::swap(v[i], v.back()); v.pop_back(); if (Query(v) < half) { v.push_back(x); std::swap(v[i], v.back()); i += 1; } else { v2.push_back(x); } } self(self, v); self(self, v2); } }; std::vector<int> v(N * M); for (int i = 1; i <= N * M; ++i) { v[i - 1] = i; } dfs(dfs, v); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...