Submission #544595

#TimeUsernameProblemLanguageResultExecution timeMemory
544595pavementSuper Dango Maker (JOI22_dango3)C++17
100 / 100
7980 ms700 KiB
#include "dango3.h" #include <bits/stdc++.h> using namespace std; #define pb push_back namespace { int N, M; vector<int> x, vec[26]; void complement() { vector<int> nx; sort(x.begin(), x.end()); for (int i = 1; i <= N * M; i++) if (!binary_search(x.begin(), x.end(), i)) nx.pb(i); x = nx; } }; void Solve(int N, int M) { ::N = N; ::M = M; for (int i = 1; i <= N * M; i++) { int lo = 1, hi = M, ans = -1; while (lo <= hi) { int mid = (lo + hi) / 2; x.clear(); for (int j : vec[mid]) x.pb(j); x.pb(i); complement(); if (M - Query(x) == 1) ans = mid, hi = mid - 1; else lo = mid + 1; } vec[ans].pb(i); } for (int i = 1; i <= M; i++) Answer(vec[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...