简单题。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <cstdio> #include <queue> using namespace std; priority_queue<int, vector<int>, greater<int> > q; int main() { int n, ans, k; while(~scanf("%d", &n) && n) { while(!q.empty()) q.pop(); ans = 0; while(n--) scanf("%d", &k), q.push(k); while(q.size() > 1) { int a,b; a = q.top(), q.pop(), b = q.top(), q.pop(); q.push(a + b); ans += a + b; } printf("%d\n", ans); } return 0; }
|
** 本文迁移自我的CSDN博客,格式可能有所偏差。 **