hdu 4006
来源:互联网 发布:淘宝 手机 假货 编辑:程序博客网 时间:2024/05/01 13:18
题意:输入n、k表示有n个操作,两种操作是I a,表示把a放入一个序列中,Q 问序列内第k大的数字是什么。
题解:先输入k个数字放入set中,那么set内会自动排序,s.begin()就是第k大的数字,在之后输入数字中如果有比它大的数字,就清除 s.begin(),再插入当前数字,维护第k大数字。
#include <stdio.h>#include <algorithm>#include <set>using namespace std;const int N = 1000005;int n, k;char op[5]; multiset<int> s;int main() { while (scanf("%d%d", &n, &k) == 2) { s.clear(); int a; for (int i = 0; i < k; i++) { scanf("%s%d", op, &a); s.insert(a); } n -= k; for (int i = 0; i < n; i++) { scanf("%s", op); if (op[0] == 'I') { scanf("%d", &a); if (a > *s.begin()) { s.erase(s.begin()); s.insert(a); } } else { printf("%d\n", *s.begin()); } } } return 0;}
0 0
- HDU 4006
- hdu 4006
- HDU 4006
- hdu-4006
- hdu 4006
- HDU 4006
- (4006)HDU
- hdu 4006
- hdu 4006 优先队列
- hdu 4006 优先级队列
- HDU 4006 优先队列
- HDU 4006优先队列
- 二叉堆 hdu 4006
- hdu 4006 AvlTree
- hdu 4004 4006 4010
- hdu 4006 优先队列
- hdu
- hdu
- 连接SQLServer异常
- C++中对string的封装
- 0401303 2013211495 第4次作业
- linux程序段
- 第四章
- hdu 4006
- Windows 2000内存篇 分页机制介绍
- Notepad++ 配置笔记
- APUE 学习笔记(第四章)
- spark:学习杂记+案例--41
- 重写父类方法
- C++输入输出格式,及其他零碎知识的整合
- SHELL学习笔记1
- hihocoder 1150 基站选址