Submission #1319627

#TimeUsernameProblemLanguageResultExecution timeMemory
1319627Jawad_Akbar_JJSuper Dango Maker (JOI22_dango3)C++20
100 / 100
184 ms676 KiB
#include <iostream>
#include <vector>
#include "dango3.h"

using namespace std;

void solve(vector<int> vec, int n, int m){
	if (m == 1){
		Answer(vec);
		return;
	}
	int sz = n * m, lft = m / 2;
	vector<int> v2;
	for (int i=0;i<sz;i++){
		int k = vec[i];
		swap(vec[i], vec[sz - 1]);
		vec.pop_back();
		if (Query(vec) >= lft)
			v2.push_back(k), sz--, i--;
		else
			vec.push_back(k), swap(vec[i], vec[sz - 1]);
	}
	solve(vec, n, lft);
	solve(v2, n, m - lft);
}

void Solve(int n, int m){
	vector<int> vec;
	for (int i=1;i<=n*m;i++)
		vec.push_back(i);
	solve(vec, n, m);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...