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”去百度

    个人分享,欢迎指导,未经允许,请勿转载。谢谢!
  • 相关阅读:
    用PHP如何打造一个高可用高性能的网站
    php 数据批量插入mysql和mysql类
    PHP8新特性
    php 爬取抖音评论数据
    Python学习笔记之7.5
    mysql基本概念
    开发google插件
    php curl 重定向 cookie问题
    git 入门
    git对已经提交过的文件添加到.gitignore
  • 原文地址:https://www.cnblogs.com/hello-OK/p/8052287.html
Copyright © 2011-2022 走看看