题解:P15063 [UOI 2024 II Stage] Creating an Array
题目简述:
其实就是给你一个数组,表示从
思路点拨:
很简单的一道题,首先统计每个数的个数,再进行降序排列,即最大位在前,最小位在后,最后输出排列后的数组即可。
accode
#include<iostream>
#include<algorithm>
using namespace std;
int a[500], cnt;
bool cmp(int x, int y) {
return 10 * x + y > 10 * y + x;// 降序比较
}
int main() {
int c;
for(int i=0; i<10; i++) {
cin >> c;
for(int j=0; j<c; j++) {
a[cnt++] = i;// 统计出现次数
}
}
sort(a, a+cnt, cmp);// 降序排序
for(int i=0; i<cnt; i++) {
if(i) cout << ' ';
cout << a[i];// 输出即可
}
return 0;
}