#include "dango3.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
namespace {
int variable_example = 1;
} // namespace
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int rnd(int l, int r) {
return uniform_int_distribution<int>(l, r)(rng);
}
unsigned seed = chrono::steady_clock::now().time_since_epoch().count();
void Solve(int N, int M) {
vector<int> vis(N * M + 1, 0);
vector<vector<int>> ans(M);
vector<vector<int>> ask(M);
for (int i = 1; i <= N * M; i++) {
for (int j = 0; j < M; j++) {
ask[j].pb(i);
}
}
for (int i = 1; i <= N * M; i++) {
int l = 0;
int r = M - 1;
int x = -1;
while(l <= r) {
int mid = (l + r) / 2;
ask[mid].erase(find(ask[mid].begin(), ask[mid].end(), i));
int cnt = Query(ask[mid]);
ask[mid].pb(i);
if (cnt == M - 1) {
x = mid;
r = mid - 1;
}
else {
l = mid + 1;
}
}
ask[x].erase(find(ask[x].begin(), ask[x].end(), i));
ans[x].pb(i);
}
for(int i = 0; i < M; i++) {
Answer(ans[i]);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |