結果
| 問題 | No.649 ここでちょっとQK! |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-11-14 20:27:33 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
CE
(最新)
AC
(最初)
|
| 実行時間 | - |
| コード長 | 1,044 bytes |
| コンパイル時間 | 724 ms |
| コンパイル使用メモリ | 72,832 KB |
| 最終ジャッジ日時 | 2024-11-14 21:50:24 |
| 合計ジャッジ時間 | 1,998 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
main.cpp:10:32: error: 'numeric_limits' is not a member of 'std'
10 | constexpr long long INF = std::numeric_limits<long long>::max();
| ^~~~~~~~~~~~~~
main.cpp:10:47: error: expected primary-expression before 'long'
10 | constexpr long long INF = std::numeric_limits<long long>::max();
| ^~~~
main.cpp:11:33: error: 'numeric_limits' is not a member of 'std'
11 | constexpr long long NINF = std::numeric_limits<long long>::min();
| ^~~~~~~~~~~~~~
main.cpp:11:48: error: expected primary-expression before 'long'
11 | constexpr long long NINF = std::numeric_limits<long long>::min();
| ^~~~
ソースコード
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
#include <map>
#include <list>
#include <set>
using namespace std;
constexpr long long INF = std::numeric_limits<long long>::max();
constexpr long long NINF = std::numeric_limits<long long>::min();
long long Q, K;
priority_queue<long long> f;
priority_queue<long long, vector<long long>, greater<long long>> e;
void task1() {
long long v;
cin >> v;
if (f.size() < K) {
f.push(v);
return;
}
if (f.top() > v) {
e.push(f.top());
f.pop();
f.push(v);
} else {
e.push(v);
}
}
void task2() {
if (f.size() < K) {
cout << -1 << endl;
} else {
cout << f.top() << endl;
f.pop();
if (!e.empty()) {
f.push(e.top());
e.pop();
}
}
}
signed main() {
cin >> Q >> K;
while (Q--) {
long long t;
cin >> t;
if (t == 1) {
task1();
} else {
task2();
}
}
}