86WA求调
查看原帖
86WA求调
1272259
cgxd楼主2024/7/23 08:41
#include<bits/stdc++.h>
using namespace std;
bool bl = 0;
bool cmp(int x, int y){
	return x % 3 < y % 3;
}vector<int> v1, v2;
int n;
signed main(){
	scanf("%d", &n);
	while(n--){
		int k;
		scanf("%d", &k);
		if(k % 3)
			v1.push_back(k);
		else
			v2.push_back(k);
	}if(v2.size() > v1.size() + 1){
		printf("No");
		return 0;
	}sort(v1.begin(), v1.end(), cmp);
	printf("Yes\n");
	for(int i: v1){
		if(i % 3 == 2)
			bl = 1;
		if(v2.size() > 1u or bl and v2.size()){
			printf("%d ", v2.back());
			v2.pop_back();
		}printf("%d ", i);
	}if(v2.size())
		printf("%d ", v2.back());
	return 0;
}
2024/7/23 08:41
加载中...