题解 | #搬水果#

搬水果

https://www.nowcoder.com/practice/e4c775b0f3ee42a4bb72c26d2e1eef8a

//本题仅仅只是哈夫曼树的变形
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
std::vector<int> v;



int main() {
    int n;
    while (cin >> n && n) {
        v.clear();
        int ans = 0;
        int input;
        for (int i = 0; i < n; i++) {
            cin >> input;
            v.push_back(input);
        }
        sort(v.begin(), v.end());
        int tep = 0;
        for (int i = 0; i < n - 1; i++) {
            vector<int>::iterator it = v.begin();
            tep= (*it) + (*(it + 1));
            ans += tep;
            // v.pop_back();这是vectot数组的尾删
            v.erase(v.begin());
            v.erase(v.begin());
            v.push_back(tep);
            sort(v.begin(), v.end());


        }
        cout << ans;





    }
}

全部评论

相关推荐

02-08 15:53
门头沟学院 Java
CoderEcho:让公司知道便宜没好货
点赞 评论 收藏
分享
穿件外套出门:这简历一眼太水了,前面有的没的直接删,写项目亮点
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务