제출 #1234424

#제출 시각아이디문제언어결과실행 시간메모리
1234424lopkusSuper Dango Maker (JOI22_dango3)C++20
100 / 100
1636 ms1000 KiB
#include <bits/stdc++.h>
#include "dango3.h"
using namespace std;
#define name "aaaaaa"
#define fi first
#define se second
using ll = long long;
using db = double;
using ld = long double;
using pii = pair<int, int>;
using pll = pair<ll, ll>;
using ppii = pair<int, pii>;

const int N = 405, M = 30, K = N * M;

bool a[K];
vector<int> dango[K];

void Solve(int n, int m){
	for(int i = 1; i <= n * m; i++){
		int l = -1, r = m - 1, mid;
		while(l + 1 < r){
			mid = (l + r) / 2;

			for(int j = 1; j <= n * m; j++){
				a[j] = true;
			}
			for(int j = 0; j <= mid; j++){
				for(int k : dango[j]){
					a[k] = false;
				}
			}
			a[i] = false;

			vector<int> v;
			for(int j = 1; j <= n * m; j++){
				if(a[j]) v.push_back(j);
			}

			if(Query(v) == m - mid - 2){
				l = mid;
			}else{
				r = mid;
			}
		}
		dango[r].push_back(i);
	}
	for(int i = 0; i < m; i++){
		Answer(dango[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...