P1091 - 哈夫曼树和最小的带权路径长度
题目描述
给定n个值为正整数的叶子节点,请你构造出哈夫曼树,并且计算出整棵哈夫曼树的带权路径长度WPL
输入格式
第1行,一个正整数n,代表叶子节点个数
第2行,n个正整数,代表每个叶子节点的值,用空格分隔
输出格式
1行,整棵哈夫曼树的带权路径长度WPL的值(也就是这些叶子节点能构成的所有二叉树中最小的带权路径长度)
输入输出样例
| 输入样例 | 输出样例 |
|---|---|
| 4 1 3 5 7 |
29 |
| 4 1 2 3 4 |
19 |
数据范围与提示
100%的数据:2 <= n <= 50,0 <= 每个叶子节点的值 <= 100
测试点数目
共10个测试点,每个测试点10分
时间与内存限制
每个测试点时间:1000ms(1.0s),内存:256MiB
输入输出模式
本OJ支持两种输入输出模式
1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1091.in,输出文件名为:P1091.out