結果
問題 | No.649 ここでちょっとQK! |
ユーザー |
|
提出日時 | 2019-11-14 20:21:08 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 289 ms / 3,000 ms |
コード長 | 998 bytes |
コンパイル時間 | 957 ms |
コンパイル使用メモリ | 99,872 KB |
実行使用メモリ | 5,920 KB |
最終ジャッジ日時 | 2024-09-21 22:32:24 |
合計ジャッジ時間 | 5,441 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 32 |
ソースコード
#define _USE_MATH_DEFINES#include <cstdio>#include <cstdlib>#include <iostream>#include <cmath>#include <cstring>#include <algorithm>#include <vector>#include <queue>#include <map>#include <set>#include <unordered_map>#include <unordered_set>#include <functional>using namespace std;typedef pair<long long int, long long int> P;typedef tuple<int, int, int> T;long long int INF = 1e18;long long int MOD = 1e9 + 7;int main(){int Q, K;cin >> Q >> K;priority_queue<long long int> que;priority_queue<long long int, vector<long long int>, greater<long long int>> que2;for(int i = 0; i < Q; i++){int tp;cin >> tp;if(tp == 1){long long int num;cin >> num;que.push(num);if(que.size() > K){que2.push(que.top());que.pop();}}else{if(que.size() < K){cout << -1 << endl;}else{cout << que.top() << endl;que.pop();if(que2.size() > 0){que.push(que2.top());que2.pop();}}}}return 0;}