码迷,mamicode.com
首页 > 其他好文 > 详细

892A. Greed#贪婪(优先队列priority_queue)

时间:2017-12-17 16:59:12      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:problem   ems   暴力   com   遍历   cto   col   +=   如何   

题目出处:http://codeforces.com/problemset/problem/892/A

题目大意:有一些可乐(不一定装满),问能不能把所有可乐装进两个可乐瓶中

#include<iostream>
#include<queue>
#include<vector>
using namespace std;
int main(){
    priority_queue< long long,vector<long long >,less<long long > >cap;
    long long n;    cin>>n;
    long long  sum=0;
    for(long long  i=0;i<n;i++){
        long long  rem; cin>>rem;
        sum+=rem;
    }
    while(n--){
        long long vol; cin>>vol;
        cap.push(vol);
    }
    long long  sumt = cap.top(); cap.pop();
    sumt+=cap.top();
    if(sum>sumt)cout<<"NO"<<endl;
    else cout<<"YES"<<endl;
    return 0;
}

只需要对剩余的可乐加和与最大的容积的两个可乐瓶容积加和比较即可

关键在于如何获取两个最大容积

暴力可以遍历一次之后,获得最大的一个,然后去掉这个,再遍历一次,再获得第二大的,加和

我们使用最大优先队列priority_queue();头文件#include<queue>

关于优先队列可以问度娘,建议加上“STL”去百度

892A. Greed#贪婪(优先队列priority_queue)

标签:problem   ems   暴力   com   遍历   cto   col   +=   如何   

原文地址:http://www.cnblogs.com/hello-OK/p/8052287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!