CF1857C 题解

洛谷传送门 & CF 传送门

思路

因为这题有 SPJ,我们可以输出任意一种答案,所以我们可以将元素从小到大排序,然后我们可以发现,a0a_0 出现了 n1n-1 次,a1a_1 出现了 n2n-2 次,……,an1a_{n-1} 出现了 00 次,aia_i 出现了 ni1n-i-1 次,然后我们只要在输出的时候跳着输出即可。

代码

# include <bits/stdc++.h> //万能头
using namespace std;
int t, n, a[1000005], m;
int main () {
	cin >> t;
	while (t --) {
		cin >> n;
		m = (n - 1) * n >> 1; //计算输入序列长度
		for (int i = 0; i < m; ++ i)
			cin >> a[i];
		sort (a, a + m); //排序
		for (int i = n, j = 0; -- i /*i 从 n-1 枚举到 1*/; j += i /*循环增量*/)
			cout << a[j] << ' ';
		cout << (int) 1e9 << '\n'; //a[n-1] 随便设一个极大值就可以了,但是不能超过题目给定的 1e9
	}
	return 0; //结束程序
}
posted @ 2023-08-08 15:43  Vitamin_B  阅读(9)  评论(0)    收藏  举报  来源