제출 #618196

#제출 시각아이디문제언어결과실행 시간메모리
618196penguinhackerSuper Dango Maker (JOI22_dango3)C++17
100 / 100
333 ms524 KiB
#include "dango3.h"
#include <bits/stdc++.h>
using namespace std;

mt19937 rng(42);

void Solve(int n, int m) {
	vector<bool> vis(n*m+1);
	for (int rep=0; rep<m; ++rep) {
		vector<int> v;
		for (int i=1; i<=n*m; ++i)
			if (!vis[i])
				v.push_back(i);
		while(1) {
			shuffle(v.begin(), v.end(), rng);
			int s=min((int)v.size(), 1900);
			vector<int> v2(v.begin(), v.begin()+s);
			if (Query(v2)) {
				v=v2;
				break;
			}
		}
		while(v.size()>n) {
			int x=v.back();
			v.pop_back();
			if (!Query(v))
				v.insert(v.begin(), x);
		}
		Answer(v);
		for (int i : v)
			vis[i]=1;
	}
}

컴파일 시 표준 에러 (stderr) 메시지

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:23:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   23 |   while(v.size()>n) {
      |         ~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...