답안 #1020712

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1020712 2024-07-12T08:47:46 Z Unforgettablepl Super Dango Maker (JOI22_dango3) C++17
22 / 100
404 ms 604 KB
#include "dango3.h"

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

namespace {

int SQRT = 5;

}  // namespace

void Solve(int N, int M) {
	vector<int> idxes(N*M);iota(idxes.begin(),idxes.end(),1);
	// shuffle(idxes.begin(),idxes.end(),mt19937(random_device()()));
	idxes.insert(idxes.begin(),0);
	for(int round=0;round<M-1;round++){
		vector<int> ans;
		if(0<=round and round<5)SQRT=5;
		else if(5<=round and round<13)SQRT=4;
		else if(13<=round and round<19)SQRT=3;
		else if(19<=round and round<23)SQRT=2;
		else if(23<=round and round<25)SQRT=1;
		for(int included=N*(M-round);included;included-=SQRT){
			vector<int> query;
			for(int i=1;i<=(included-SQRT);i++)query.emplace_back(idxes[i]);
			int q = 0;
			if(!query.empty()){
				for(int&i:ans)query.emplace_back(i);
				q = Query(query);
			}
			if(q>=1)continue;
			for(int inc=included;inc>included-SQRT;inc--){
				vector<int> query;
				for(int i=1;i<inc;i++)query.emplace_back(idxes[i]);
				int q = 0;
				if(!query.empty()){
					for(int&i:ans)query.emplace_back(i);
					q = Query(query);
				}
				if(q>=1)continue;
				ans.emplace_back(idxes[inc]);
				idxes.erase(idxes.begin()+inc);
				if(ans.size()==N)break;
			}
			if(ans.size()==N)break;	
		}
		Answer(ans);
	}
	idxes.erase(idxes.begin());
	Answer(idxes);
}

Compilation message

dango3.cpp: In function 'void Solve(int, int)':
dango3.cpp:43:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   43 |     if(ans.size()==N)break;
      |        ~~~~~~~~~~^~~
dango3.cpp:45:17: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   45 |    if(ans.size()==N)break;
      |       ~~~~~~~~~~^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 348 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
3 Correct 6 ms 348 KB Output is correct
4 Correct 6 ms 348 KB Output is correct
5 Correct 2 ms 504 KB Output is correct
6 Correct 2 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 107 ms 592 KB Output is correct
2 Correct 123 ms 600 KB Output is correct
3 Correct 174 ms 604 KB Output is correct
4 Correct 197 ms 604 KB Output is correct
5 Correct 82 ms 344 KB Output is correct
6 Correct 82 ms 568 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 404 ms 600 KB Wrong Answer [3]
2 Halted 0 ms 0 KB -