G.王梦涵学长的迷弟

题目描述:

王梦涵学长,有着 n 个迷弟。每个迷弟有着自己的力量值。
为了让迷弟们和自己一样强大,王梦涵学长学习了一种增幅魔法,每次使用魔法可以让一位迷弟的力量值加 1 。
例如,王梦涵学长有3个迷弟,力量分别为 [1,2,3],王梦涵学长使用一次魔法使得1号迷弟的力量加1,变成 [2,2,3] 。
但是魔法不能无限使用,王梦涵学长最多只能使用 k 次魔法。
王梦涵学长十分关照力量值比较低的迷弟。所以他想在使用不超过 k 次魔法后,使得全部迷弟中力量值最低的迷弟,力量值最大。
请你帮帮王梦涵学长计算在上方的原则下,力量值最低的迷弟的力量值。

输入描述:

第一行两个数整数 n (1 <= n <= 2 × 105),k (1 <= k <= 2 × 105),表示迷弟的人数以及使用魔法的最大次数。
接下来一行 n 个数 ai (1 <= ai <= 2 × 105),表示第 i 个迷弟的力量值。

输出描述:

输出一个数,表示在使用不超过 k 次魔法后,迷弟中,力量值最低的迷弟的最大力量值。

示例:

输入:
5 3
1 1 3 3 4

输出:
2

说明:
一种方法为从 [1, 1, 3, 3, 4] 加到 [3, 2, 3, 3, 4],此时最小力量值为 2 。

思路:每次找出队列中的最小元素,加一后有序地放回队列,最后输出最小的元素。正好可以使用 STL 里的优先队列来对元素每次加一后重新排列。

这里插入下优先队列的用法:

定义:priority_queue<Type, Container, Functional>
Type 就是数据类型.
Container 就是容器类型(Container必须是用数组实现的容器,比如vector,deque等等,但不能用 list。STL里面默认用的是vector.
Functional 就是比较的方式,当需要用自定义的数据类型时才需要传入这三个参数,使用基本数据类型时,只需要传入数据类型,默认是大顶堆。greater< int > 为升序整型,less< int >为降序整型。

所以我们用升序的优先队列来排序,需要先申请一个优先队列,名为 s :
priority_queue<int, vector<int>, greater<int> > s;

AC代码如下:

#include <bits/stdc++.h>
using namespace std;int n,k;int main()
{cin >> n >> k;//升序的优先队列priority_queue<int, vector<int>, greater<int> >s;for (int i = 0; i < n; i++){int x;cin >> x;//放入队列中s.push(x);}while (k--){//取出队首元素加一后再放入队列中int m = s.top();s.pop();s.push(++m);}//第一个元素最小cout << s.top() << endl;return 0;
}

第一届程序设计竞赛题解(G题)相关推荐

  1. 第一届程序设计竞赛题解(E题)

    E.码头菩萨 题目描述: 众所周知,陈末是个英雄联盟菜鸟,又菜又爱玩. 陈末特别喜欢用派克来秀他下饭的操作,每次都能把自己秀死. 涌泉之恨是派克的大招,能在一定情况下,直接斩杀敌人. 此时陈末操作的派 ...

  2. “九韶杯”河科院程序设计协会第一届程序设计竞赛题解

    A-6的个数 题意 ​ 2021中,出现了多少个数字6 思路 ​ for循环枚举对于每个数分解之后贡献答案就可以了 代码 #include <bits/stdc++.h> using na ...

  3. 文远知行杯广东工业大学第十六届程序设计竞赛(题解)

    文远知行杯广东工业大学第十六届程序设计竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ A:思维题 #include<bits/stdc++.h> usi ...

  4. 江西财经大学第一届程序设计竞赛 G题小Q的口袋校园

    题目链接:https://www.nowcoder.com/acm/contest/115/G 解题思路:题解就一份代码,贪心的思想.先按开始时间进行排序. 然后不断贪心获得happy[ j ]的最大 ...

  5. “九韶杯”河科院程序设计协会第一届程序设计竞赛 【前六题解析】

    https://ac.nowcoder.com/acm/contest/13493#rank 目录 A: 6的个数 B: 小明的作业 C: 斐波那契 D: 数列重组 E: 三角形个数 F: 字符串 A ...

  6. “九韶杯”河科院程序设计协会第一届程序设计竞赛 部分题解

    (大型翻车 A 602 #include<bits/stdc++.h> using namespace std; int main(){int sum=0;for(int i=6;i< ...

  7. 湘南学院第一届程序设计大赛题解(XNPC—2022)

    题解目录 A.你的马蹄铁是在另一只蹄子上吗? 题目大意: 题解: 代码: B.判断奇因子 题目大意: 题解: 代码: C.死亡祝福 题目大意: 题解: 代码: D.奇怪的方程式 题目大意: 题解: 代 ...

  8. “东信杯”广西大学第一届程序设计竞赛(同步赛)D、数论只会GCD 【博弈 分类讨论】...

    传送门:https://ac.nowcoder.com/acm/contest/283/D 题目描述 小西买了一堆肥宅快乐水和肥宅快乐茶,准备和室友比谁更肥宅. 快乐水有A瓶,快乐茶B瓶. 小西和室友 ...

  9. 2018年长沙理工大学第十三届程序设计竞赛题解

    链接:https://www.nowcoder.com/acm/contest/96/A 来源:牛客网 "LL是什么?这都不知道的话,别说自己是程序猿啊!"   "lon ...

  10. 北华大学第九届程序设计竞赛 题解

    5.14和队友VP一场,第二次VP,状态明显比第一次好很多,总共A了7题,基本是能做出来的都做出来了,最后还剩下接近2小时的时间..... A "北华"有几何 思路:数图片中&qu ...

最新文章

  1. 百分点认知智能实验室:NLP模型开发平台在舆情分析中的设计和实践(下)
  2. python读取文件报错必须有一个正确的读写方式_python文件操作
  3. NYOJ 891 找点
  4. spring的依赖注入
  5. html selsec 文字靠右,EDA课程设计
  6. 手机端调试console.log,直接引入一个js文件
  7. Pytorch中model.eval()的作用分析
  8. mysql 高性能架构_高性能MySQL之架构与历史(1)
  9. Python中的pip包管理工具被删除重新进行安装
  10. 德赛西威280b升级_牵手英伟达/德赛西威 理想自动驾驶蓝图初现
  11. 2021全国大学生电子设计竞赛论文(智能送药小车(F题))(电赛论文模板)
  12. R语言:数据预处理-缺失值
  13. c语言中百分号后面跟的数字_C语言中的各种百分号都代表什么意思? c语言中百分号后的数字是...
  14. 视频号里的视频怎么保存到本地
  15. 自动驾驶系统进阶与项目实战(四)自动驾驶高精度地图构建中的三维场景识别和闭环检测
  16. 装PDF应用软件重启计算机,Win10每次将PDF默认打开方式设为其他软件,第二天总会改回Edge?...
  17. Ubuntu 壁纸下载
  18. ESD保护二极管,一种有效的ESD静电保护器件
  19. Spatial Pyramid Pooling(SPP)原理简介
  20. Quartz定时调度

热门文章

  1. 微信服务号的开发-服务器配置
  2. 概率论的V=max{X,Y},U=min{X,Y},W=X+Y的求解分布律解法——笔记
  3. 显示搜索dota2协调服务器,老司机教你处理搜索dota2游戏协调服务器中【操作流程】...
  4. 商业定律22条,你读懂了几条
  5. 大数据概述及电信大数据应用
  6. axf下不了 keil5jlink_keil无法生成axf文件之解决方法
  7. oracle数据如何采集,网页采集的数据如何导出到Oracle数据库 - 八爪鱼采集器
  8. ps怎么对字体进行加粗?
  9. 星淘惠:我国在国际大变革中迎来国际贸易的发展黄金时期
  10. Allergo 无法修改单位