链接P1090 合并果子
感想
我这数据结构学的真的是都还给老师了,关键脑子里就那么几种基础的数据结构,数列,栈和队列,就没了,所以这个堆就真的一点都没想到,还是看了题解才反应过来,我的天呐…也不知道自己到底在学啥,唉.有轮子就是好,优先队列一套瞬间ac了,唉,我简直zz.
priority_queue 简介
初始化
priority_queue<int, vector, greater >q;
priority_queue<int, vector, less >q;
code
#include <algorithm>
#include <stdio.h>
#include <iostream>
#include<math.h>
#include<stack>
#include<queue>
#include<vector>
using namespace std;
const int maxn = 10000+5;
int a[maxn];
priority_queue<int, vector<int>, greater<int> >q;
int main() {
#ifdef LOCAL
freopen("C:\\Users\\hsxny\\Desktop\\in.txt", "r", stdin);
#endif
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
int m = 0;
scanf("%d",&m);
q.push(m);
}
int cost = 0;
while(q.size()!=1)
{
int a = q.top();
q.pop();
int b = q.top();
q.pop();
cost+=(a+b);
q.push(a+b);
}
cout<<cost;
return 0;
}