Submission #1023030

#TimeUsernameProblemLanguageResultExecution timeMemory
1023030UnforgettableplSuper Dango Maker (JOI22_dango3)C++17
100 / 100
2133 ms924 KiB
#include "dango3.h"

#include <bits/stdc++.h>
using namespace std;

namespace {
}  // namespace

void Solve(int N, int M) {
	vector<vector<int>> dangos(M+1);
	for(int i=1;i<=N*M;i++){
		auto check = [&](int x){
			vector<bool> skipped(N*M+1);
			skipped[i]=true;
			for(int j=1;j<x;j++){
				for(int&k:dangos[j])skipped[k]=true;
			}
			vector<int> qu;
			for(int j=1;j<=N*M;j++)if(!skipped[j])qu.emplace_back(j);
			return Query(qu)==M-x;
		};
		int ans = 1;
		for(int jump=16;jump;jump/=2)if(jump+ans<=M and check(jump+ans))ans+=jump;
		dangos[ans].emplace_back(i);
	}
	for(int i=1;i<=M;i++)Answer(dangos[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...