第1行:1個整數N(2 <= N <= 50000)第2 - N + 1行:每行1個整數Li(1 <= Li <= 1000)。Output輸出最小的體力消耗。Input示例3345Output示例19思路:
優先隊列水題。代碼:
#include <bits/stdc++.h>using namespace std;const int MAXN = 1e5 + 10;int a[MAXN];int main() { int n; scanf("%d", &n); PRiority_queue <int, vector <int>, greater <int> > que; for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); que.push(a[i]); } int ans = 0; while (que.size() > 1) { int x = que.top(); que.pop(); int y = que.top(); que.pop(); que.push(x + y); ans += x + y; } printf("%d/n", ans); return 0;}
|
新聞熱點
疑難解答