Submission #833666

#TimeUsernameProblemLanguageResultExecution timeMemory
833666erraySuper Dango Maker (JOI22_dango3)C++17
100 / 100
1795 ms732 KiB
#include "dango3.h" #include <vector> #include <bits/stdc++.h> using namespace std; #ifdef DEBUG #include "/home/eagle/apio17/joi_sc22_4/debug.h" #else #define debug(...) void(37) #endif void Solve(int N, int M) { auto Ask = [&](vector<int> x) { vector<bool> in(N * M); for (auto& v : x) { in[v] = true; } vector<int> ask; for (int i = 0; i < N * M; ++i) { if (!in[i]) { ask.push_back(i + 1); } } int res = Query(ask); return M - res; }; vector<vector<int>> gs(M); for (int i = 0; i < N * M; ++i) { int low = 0, high = M - 1; while (low < high) { int mid = (low + high) >> 1; vector<int> a = gs[mid]; a.push_back(i); debug(a, Ask(a)); if (Ask(a) > 1) { low = mid + 1; } else { high = mid; } } gs[low].push_back(i); } for (auto& x : gs) { for (auto& e : x) { e += 1; } Answer(x); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...