hdu 4006__The kth great number(STL)
2015-09-04 08:44
519 查看
The kth great number
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 8641 Accepted Submission(s): 3407
Problem Description
Xiao Ming and Xiao Bao are playing a simple Numbers game. In a round Xiao Ming can choose to write down a number, or ask Xiao Bao what the kth great number is. Because the number written by Xiao Ming is too much, Xiao Bao
is feeling giddy. Now, try to help Xiao Bao.
Input
There are several test cases. For each test case, the first line of input contains two positive integer n, k. Then n lines follow. If Xiao Ming choose to write down a number, there will be an " I" followed by a number that
Xiao Ming will write down. If Xiao Ming choose to ask Xiao Bao, there will be a "Q", then you need to output the kth great number.
Output
The output consists of one integer representing the largest number of islands that all lie on one line.
Sample Input
8 3 I 1 I 2 I 3 Q I 5 Q I 4 Q
Sample Output
1 2 3 HintXiao Ming won't ask Xiao Bao the kth great number when the number of the written number is smaller than k. (1=<k<=n<=1000000).
Source
The
36th ACM/ICPC Asia Regional Dalian Site —— Online Contest
Recommend
lcy | We have carefully selected several similar problems for you: 4003 4007 4004 4008 4005
题意:先输入n和k,接下来n行,每行输入一个字母c,当c='I'时,写下一个数字,当c=‘Q'时求写下的数中第k大的数。
做法:使用STL中的multiset容器,这种容器与set的最大区别就是不去重性。
代码如下:
#include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #include<set> using namespace std; int main() { multiset<int> s; int n,k,a; char ss[2]; while(~scanf("%d%d",&n,&k)) { s.clear(); for(int i=0;i<n;i++) { scanf("%s",ss); if(ss[0]=='I') { scanf("%d",&a); s.insert(a); if(s.size()>k) { s.erase(s.begin()); } } else { printf("%d\n",*s.begin()); } } } return 0; }
相关文章推荐
- 九大排序算法
- 使用maven私服构建 springmvc hibernate4 mysql 项目
- 二分图定理
- PHP基础----PHP 会话管理----22Cookie 和 Session 的概念与区别
- AVD启动不了 ANDROID_SDK_HOME is defined but could not find *.ini
- 虚拟机下NAT模式无法上网
- Python __dic__巧妙用法
- oracle数据恢复:利用ctl,dbf,log
- Meta http-equiv属性详解
- kestrel源代码阅读
- 《C++ Primer Plus》读书笔记
- PHP基础----HTML表单的创建与提交----21上传文件
- 子数组的最大乘积
- 中国剩余定理
- Cocoapods安装与使用
- HDU 1016 Prime Ring Problem(dfs)
- HDU 1014 Uniform Generator(水~)
- HDU 1010 Tempter of the Bone(dfs)
- Scala中路径依赖代码实战详解之Scala学习笔记-42
- HDU 1005 Number Sequence(数论)