Submission #645639

#TimeUsernameProblemLanguageResultExecution timeMemory
645639rainboySuper Dango Maker (JOI22_dango3)C++17
100 / 100
1227 ms812 KiB
#include "dango3.h" #include <vector> using namespace std; const int N = 400, M = 25; typedef vector<int> vi; bool used[N * M]; void solve(vi ii, int n, int k) { if (n == 1) { Answer(ii); return; } int m = n / 2; for (int i : ii) used[i] = true; for (int i : ii) { used[i] = false; vi ii_; for (int j : ii) if (used[j]) ii_.push_back(j); if (Query(ii_) < m) used[i] = 1; } vi iil, iir; for (int i : ii) if (used[i]) iil.push_back(i); else iir.push_back(i); for (int i : ii) used[i] = false; solve(iil, m, k), solve(iir, n - m, k); } void Solve(int k, int n) { vi ii; for (int i = 0; i < n * k; i++) ii.push_back(i + 1); solve(ii, n, k); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...