Submission #1212550

#TimeUsernameProblemLanguageResultExecution timeMemory
1212550dima2101Super Dango Maker (JOI22_dango3)C++20
0 / 100
12 ms1088 KiB
#include <bits/stdc++.h> #include "dango3.h" int GetMax(const std::vector<int> &x, int n, int m) { std::set<int> s; for (int i = 1; i <= n * m; i++) { s.insert(i); } for (int j : x) { s.erase(j); } std::vector<int> now; for (int j : s) { now.push_back(j); } return m - Query(now); } void Solve(int n, int m) { std::vector<std::vector<int>> ans(m); for (int i = 1; i <= n * m; i++) { int l = -1, r = m; while (l + 1 < r) { int mid = (l + r) / 2; ans[mid].push_back(i); if (GetMax(ans[mid], n, m) == 2) { l = mid; } else { r = mid; } ans.pop_back(); } // assert(r != m); ans[r].push_back(i); } for (int i = 0; i < m; i++) { Answer(ans[i]); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...