Submission details
Task:Blocks
Sender:frederikvase
Submission time:2026-04-16 14:45:54 +0300
Language:C++ (C++20)
Status:COMPILE ERROR

Compiler report

input/code.cpp: In function 'void solve()':
input/code.cpp:34:24: error: return-statement with a value, in function returning 'void' [-fpermissive]
   34 |                 return 0;
      |                        ^

Code

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

/*
 *        _
 * 123445352511234
 * 1234567
 * 12
 *   344 3
 *
 * 123456789A
 * 1X1
 * 4 = 1
 * 3 = 2
 *
 * 514234312523514
 * 312231123
 *
 * n&1: let k = n/2
 *
 */

void imp() {
	cout << "NO\n";
}

void solve() {
	int n, k;
	cin >> n >> k;

	if (n == 1 || (n == 2 && k == 1) || (n == 3 && k == 1)) {
		cout << "YES\n";
		return 0;
	}
	if (n <= 3) return imp();

	vector<int> f(k + 1);
	for (int i = 0; i < n; i++) {
		int c;
		cin >> c;
		f[c]++;
	}

	if (n % 2 == 0) {
		for (int c = 1; c <= k; c++) {
			if (f[c] % 2 == 1) {
				return imp();
			}
		}

		cout << "YES\n";
		vector<int> res;
		for (int c = 1; c <= k; c++) {
			for (int i = 0; i < f[c] / 2; i++) {
				res.push_back(c);
			}
		}

		for (int e : res) cout << e << " ";
		reverse(res.begin(), res.end());
		for (int e : res) cout << e << " ";
		cout << "\n";
		return;
	}

	cout << "YES\n";
	vector<int> res;
	for (int c = 1; c <= k; c++) {
		if (f[c] & 1) continue;
		for (int i = 0; i < f[c] / 2; i++) {
			res.push_back(c);
		}
	}
	for (int e : res) cout << e << " ";
	for (int c = 1; c <= k; c++) {
		if ((f[c] & 1) == 0) continue;
		for (int i = 0; i < f[c]; i++) {
			cout << c << " ";
		}
	}
	reverse(res.begin(), res.end());
	for (int e : res) cout << e << " ";
	cout << "\n";

	return;
}

signed main() {
	cin.tie(0)->sync_with_stdio(0);
	int t;
	cin >> t;
	while (t--) {
		solve();
	}
}