题目大意:
一个小朋友从树上打下了几堆果子。要将所有果子合并成一堆。给出没堆果子的重量求最小力气
本题的思路是要将重量最小的先合并,也就是传说中的哈夫曼树!但本题的数据比较大。今天我们来看堆得写法:
# include<stdio.h>
# include<stdlib.h>
long long a[1000010];
int main(){
long long sum=0,ans=0,n,i,h,r,j;//本题要用long long不然会答案错误
scanf("%I64d",&n);
for(i=1;i<=n;i++){
scanf("%I64d",&a[i]);//将重量存入堆
r=i