題目描述:
現在草地上有n堆石頭,甄總想要合併這n堆石頭成為1堆,但是他每次能力有限,所以只能一次合併2堆石頭至1堆。
現在已知第i堆石頭有ai塊,假設甄總要合併第i堆和第j堆石頭,則需要花費ai+aj的力氣。
給出n堆石頭每堆石頭的個數,求出甄總要合併n堆成1堆石頭一共需要多少力氣。
輸入描述:
第1行輸入乙個整數n,代表一共有n堆石頭。
第2行輸入n個整數ai,表示第i堆有ai塊石頭。
輸出描述:
輸出一行整數,表示一共需要多少力氣。
輸入:
31 2 3
輸出:
9題意:
題目描述
題解:
簡單貪心。
每次從佇列中拿出最小的兩個合併一下就好了
**:
#include
#include
#include
#include
#include
using
namespace std;
typedef
long
long ll;
priority_queue <
int,vector<
int>
,greater<
int>
> pq;
intmain()
ll sum =0;
while
(pq.
size()
>1)
//sum += pq.top();
cout<}return0;
}
牛客網 華為機試 020 牛客網
密碼要求 1.長度超過8位 2.包括大小寫字母.數字.其它符號,以上四種至少三種 3.不能有相同長度超2的子串重複 說明 長度超過2的子串 一組或多組長度超過2的子符串。每組佔一行 如果符合要求輸出 ok,否則輸出ng 示例1 021abc9000 021abc9abc1 021abc9000 02...
牛客網 乳酪
題目很簡單,中文題。複製了 乳酪之間距離不用管,只要開個並查集維護就好了,另外需要選好幾個點作為起點幾個點作為終點。o n 2 的建圖。感覺可以平面掃瞄。有空去試試。以下 ac includeusing namespace std const int maxn 1e5 5 define ll lon...
牛客網 A 招生
第一行,三個正整數n,m,p.後面n行,每行兩個正整數數a i,b i a i b i 分別表示第i個人的高考分和校測分。一行乙個數,表示答案 小a高考至少要考多少分。輸入6 3 750 700 530 683 625 703 620 699 623 710 538 654 599 輸出 inclu...