Submission #1266336

#TimeUsernameProblemLanguageResultExecution timeMemory
1266336nguynSuper Dango Maker (JOI22_dango3)C++20
100 / 100
1071 ms2052 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...