海外网站测速,宁波网站制作相信荣胜网络,微信小程序游戏修改器,内网门户网站题目描述#xff1a;
解题思路#xff1a; 本题采用贪心的思想#xff0c;与蓝桥的合并果子题思路一样。可以使用优先对列#xff0c;输入进去后自动排序。将两个最小的合并再放入对列中#xff0c;并将值加入到ans#xff0c;最终结果即ans。如下图#xff1a;xy为4
解题思路 本题采用贪心的思想与蓝桥的合并果子题思路一样。可以使用优先对列输入进去后自动排序。将两个最小的合并再放入对列中并将值加入到ans最终结果即ans。如下图xy为4918ans为491831。 题解
#includebits/stdc.h
using namespace std;using ll long long ;//元素值可能超过ll。后面的x,y,ans都需要ll
priority_queuell, vectorll, greaterll pp;//优先队列从小到大写法int main()
{int n; cin n;for(int i 1; i n; i){int t;cin t;pp.push(t);}ll ans 0;while(pp.size() 1)//可以使用while(size1)也可以使用for(比较次数){ll x,y;x pp.top();pp.pop();y pp.top();pp.pop();ans x y;pp.push(x y);//注意:是xy不是ans。ans是每个最小值之和的总和}cout ans;return 0;
}