题解:P15063 [UOI 2024 II Stage] Creating an Array
::::info[题目大意]{open}
给定
思路:
- 输入。
- 因为每个数对连接之和的贡献就是前面数字的个数加上后面数字的个数
10 倍的和,所以要使数组的连接之和最大,就要使较大数放在前面,较小数放在后面,所要逆循环9 次。每次循环,循环c_i 次输出i 。 - 通过。
代码:
#include <bits/stdc++.h>
#define N 9
using namespace std;
int c[N];
int main() {
for (int i = 0; i <= 9; i++)cin >> c[i];
for (int i = 9; i >= 0; i--) {
while (c[i]) {
c[i]--;
cout << i << endl;
}
}
return 0;
}
求过,点赞。