题解 AT2653 【Snake Toy】

Tomone

2018-04-05 23:08:03

Solution

使用优先队列解决这个问题 ``` #include<cstdio> #include<iostream> #include<queue> #include<algorithm> #include<vector> using namespace std; priority_queue<int, vector<int>, less<int> > q; //新建一个从大到小的优先队列 int main(){ ios::sync_with_stdio(false); //读入读出优化 int n,m,tmp,ans=0; cin>>n>>m; for(int i=0;i<n;++i){ cin>>tmp; q.push(tmp); //入队 } for(int i=0;i<m;++i){ ans+=q.top(); //加前m个元素 q.pop(); } cout<<ans<<endl; //输出 return 0; } ``` 一些优先队列的解析:https://www.aptx.xin/queue.html