首先不考虑这个写法的可行性
```cpp
#include <bits/stdc++.h>
using namespace std;
int a[10010], n, sum = 0;
int main() {
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
while (a[2] != 0) {
sort(a + 1, a + 1 + n);
a[1] = a[1] + a[2];
sum += a[1];
for (int i = 2; i <= n; i++) {
if (i == n) {
a[n] = 0;
n--;
} else
a[i] = a[i + 1];
}
}
cout << sum;
return 0;
}
```
n-- 写在后面,sum也不需要+a[1] ,因为只需要合并n-1次
另外这个算法复杂度是时间复杂度 $\Theta( n^2\log n)$ 一定不能通过这题
by Dog_E @ 2024-03-22 11:17:53