国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

51Nod - 1117 優(yōu)先隊(duì)列

2019-11-14 13:00:08
字體:
供稿:網(wǎng)友

題意:

一位老木匠需要將一根長(zhǎng)的木棒切成N段。每段的長(zhǎng)度分別為L(zhǎng)1,L2,......,LN(1 <= L1,L2,…,LN <= 1000,且均為整數(shù))個(gè)長(zhǎng)度單位。我們認(rèn)為切割時(shí)僅在整數(shù)點(diǎn)處切且沒有木材損失。木匠發(fā)現(xiàn),每一次切割花費(fèi)的體力與該木棒的長(zhǎng)度成正比,不妨設(shè)切割長(zhǎng)度為1的木棒花費(fèi)1單位體力。例如:若N=3,L1 = 3,L2 = 4,L3 = 5,則木棒原長(zhǎng)為12,木匠可以有多種切法,如:先將12切成3+9.,花費(fèi)12體力,再將9切成4+5,花費(fèi)9體力,一共花費(fèi)21體力;還可以先將12切成4+8,花費(fèi)12體力,再將8切成3+5,花費(fèi)8體力,一共花費(fèi)20體力。顯然,后者比前者更省體力。那么,木匠至少要花費(fèi)多少體力才能完成切割任務(wù)呢?Input
第1行:1個(gè)整數(shù)N(2 <= N <= 50000)第2 - N + 1行:每行1個(gè)整數(shù)Li(1 <= Li <= 1000)。Output
輸出最小的體力消耗。Input示例
3345Output示例
19

思路:

優(yōu)先隊(duì)列水題。

代碼:

#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;}
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 安宁市| 大渡口区| 海淀区| 民县| 葵青区| 陵川县| 青浦区| 若尔盖县| 平阳县| 县级市| 大田县| 大兴区| 兰西县| 婺源县| 濉溪县| 南汇区| 巴林左旗| 滕州市| 盐津县| 类乌齐县| 南丰县| 阿城市| 武清区| 耿马| 金昌市| 宁武县| 凤凰县| 香河县| 隆德县| 临海市| 南投县| 林周县| 湟源县| 柘城县| 晴隆县| 聊城市| 杨浦区| 土默特右旗| 江北区| 望奎县| 庆元县|