当前位置:网站首页>第k小__
第k小__
2022-06-21 11:24:00 【whitewall_9】
维护一个<=k的优先队列集合,然后不断的加入,及时排除不可能的答案。对于只加入一个可以边判断边弹出,但是对于初始序列,需要全部加入后才能排出
// Problem: 第k小
// Contest: NowCoder
// URL: https://ac.nowcoder.com/acm/contest/22904/1003
// Memory Limit: 524288 MB
// Time Limit: 2000 ms
// 2022-06-20 17:08:19
//
// Powered by CP Editor (https://cpeditor.org)
#include<bits/stdc++.h>
using namespace std;
#define rep(i,l,r) for(int i=(l);i<=(r);i++)
#define per(i,l,r) for(int i=(l);i>=(r);i--)
#define ll long long
#define mset(s,t) memset(s,t,sizeof(t))
#define mcpy(s,t) memcpy(s,t,sizeof(t))
#define fi first
#define se second
#define pb push_back
#define all(x) (x).begin(),(x).end()
#define SZ(x) ((int)(x).size())
#define mp make_pair
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<int> vi;
typedef vector<ll> Vll;
typedef vector<pair<int, int> > vpii;
typedef vector<pair<ll, ll> > vpll;
const ll mod = 1e9 + 7;
//const ll mod = 998244353;
const double pi = acos(-1.0);
inline ll ksc(ll x,ll y,ll mod)
{
ll ans = 0;
while (y) {
if (y & 1)
ans = (ans + x) %mod;
y >>= 1;
x = (x + x) %mod;
}
return ans;
}
inline ll qmi (ll a, ll b) {
ll ans = 1;
while (b) {
if (b & 1) ans = ans * a;
a = a * a;
b >>= 1;
}
return ans;
}
inline int read () {
int x = 0, f = 0;
char ch = getchar();
while (!isdigit(ch)) f |= (ch=='-'),ch= getchar();
while (isdigit(ch)) x = x * 10 + ch - '0', ch = getchar();
return f?-x:x;
}
template<typename T> void print(T x) {
if (x < 0) putchar('-'), x = -x;
if (x >= 10) print(x/10);
putchar(x % 10 + '0');
}
inline ll sub (ll a, ll b) {
return ((a - b ) %mod + mod) %mod;
}
inline ll add (ll a, ll b) {
return (a + b) %mod;
}
// inline ll inv (ll a) {
// return qmi(a, mod - 2);
// }
void solve() {
int n, m, k;
cin >> n >> m >> k;
priority_queue<int> heap;
for (int i = 1; i<= n; i ++) {
int x;
cin >> x;
heap.push(x);
}
while(heap.size() > k)
heap.pop();
for (int i = 1; i <= m; i ++) {
int x;
cin >> x;
if (x == 1) {
int y;
cin >> y;
heap.push(y);
if (heap.size() > k) {
heap.pop();
}
}
else {
if (heap.size() == k)
cout << heap.top() << endl;
else
puts("-1");
}
}
}
int main () {
// ios::sync_with_stdio(0),cin.tie(0), cout.tie(0);
int t;
t =1;
//cin >> t;
while (t --) solve();
return 0;
}
边栏推荐
- 根据模糊查询JanCode输入顺序将查询结果排序
- Getting started with data visualization
- 启牛学堂给的华泰证券账户是不是真的?开户安全吗
- Kotlin - Sequence 序列
- 开源FTP 服务器 FileZilla Server
- Mqtt of NLog custom target
- 2022 HV electrician judgment questions and answers
- Design and implementation of server security audit system
- Deep water area involvement
- 5 best practices for perfect security code auditing
猜你喜欢

2022 HV electrician judgment questions and answers

There are obvious signs of oversupply of chips, ASML is no longer a pastry, and investment institutions are shorting on a large scale

开源FTP 服务器 FileZilla Server

编译原理知识点整理

15+城市道路要素分割应用,用这一个分割模型就够了!

map.values()转为List和ArrayList的复制

From zero into the world of software development

运控入门到 Fang Si

The advanced process resistance of Intel and TSMC is increasing, and Chinese chips are expected to shorten the gap

【哈尔滨工业大学】考研初试复试资料分享
随机推荐
fix libpng warning: iCCP: Not recognizing known sRGB profile ......
编译原理知识点整理
Implementation of qcustomplot based on qtquick
游戏机之AR机械臂
根据模糊查询JanCode输入顺序将查询结果排序
高性能并行编程与优化 | 第01讲回家作业
The first question of leetcode -- sum of two numbers
Do you understand the capacity expansion mechanism of ArrayList?
Design and implementation of server security audit system
普源示波器软件,Rigol示波器上位机软件NS-Scope介绍
请教下。使用mysql-cdc需要mysql启用什么设置或者功能的保障么,还是说只要有mysql的i
DevSecOps:应当做好的十件事
Scholar magic changes QT creator plug-in framework (with examples)
5 best practices for perfect security code auditing
2022 safety officer-b certificate retraining question bank and simulated examination
中信建投券商是跟启牛学堂存在什么关系?开券商账户安全吗
C语言初阶(六)函数
Research on DDoS protection for overseas business of Chinese Enterprises
Deep water area involvement
Devsecops: new to Jianghu