zoukankan      html  css  js  c++  java
  • 892A. Greed#贪婪(优先队列priority_queue)

    题目出处: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”去百度

    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    Git 使用规范流程
    关于Python的super用法研究
    python中try except处理程序异常的三种常用方法
    break 和 continue 语句, 以及循环中的 else 子句
    杂记(python)
    Request和Response
    MVC项目开发步骤
    Web中单元测试步骤
    JSP中的细节
    WEB中地址的写法
  • 原文地址:https://www.cnblogs.com/hello-OK/p/8052287.html
Copyright © 2011-2022 走看看