Submission #560088

#TimeUsernameProblemLanguageResultExecution timeMemory
560088two_sidesSuper Dango Maker (JOI22_dango3)C++17
100 / 100
4091 ms824 KiB
#include "dango3.h" #include <vector> #include <iostream> namespace { using namespace std; } void Solve(int n, int m) { vector<vector<int>> a(m); vector<char> v(n * m + 1); for (int i = 1; i <= n * m; i++) { int lo = 0, hi = m - 1; while (lo < hi) { int mi = (lo + hi) / 2; fill(v.begin(), v.end(), 0); for (int j : a[mi]) v[j] = true; v[i] = true; vector<int> b; for (int j = 1; j <= n * m; j++) if (!v[j]) b.push_back(j); if (m == Query(b) + 1) hi = mi; else lo = mi + 1; } a[hi].push_back(i); } for (int i = 0; i < m; i++) Answer(a[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...