結果

問題 No.649 ここでちょっとQK!
ユーザー rpy3cpp
提出日時 2019-05-20 19:33:30
言語 C++14
(gcc 9.2.0)
結果
AC  
実行時間 60 ms
コード長 955 Byte
コンパイル時間 1,348 ms
使用メモリ 5,552 KB
最終ジャッジ日時 2020-01-31 05:12:35

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
corner1.txt AC 4 ms
3,272 KB
corner2.txt AC 0 ms
3,240 KB
corner3.txt AC 0 ms
3,304 KB
corner4.txt AC 24 ms
3,372 KB
corner5.txt AC 60 ms
5,552 KB
corner6.txt AC 44 ms
5,500 KB
corner7.txt AC 48 ms
5,184 KB
normal1.txt AC 0 ms
3,336 KB
normal2.txt AC 4 ms
3,340 KB
normal3.txt AC 0 ms
3,308 KB
normal4.txt AC 4 ms
3,336 KB
normal5.txt AC 0 ms
3,280 KB
random_large1.txt AC 28 ms
3,896 KB
random_large2.txt AC 24 ms
4,052 KB
random_large3.txt AC 24 ms
4,076 KB
random_large4.txt AC 28 ms
4,136 KB
random_large5.txt AC 24 ms
4,080 KB
random_large6.txt AC 32 ms
4,280 KB
random_large7.txt AC 36 ms
4,320 KB
random_large8.txt AC 40 ms
4,340 KB
random_large9.txt AC 44 ms
4,280 KB
random_large10.txt AC 44 ms
4,356 KB
random_large11.txt AC 52 ms
4,416 KB
random_large12.txt AC 52 ms
4,368 KB
random_large13.txt AC 56 ms
4,392 KB
random_large14.txt AC 60 ms
4,444 KB
random_large15.txt AC 56 ms
4,460 KB
random_small1.txt AC 4 ms
3,360 KB
random_small2.txt AC 0 ms
3,336 KB
random_small3.txt AC 0 ms
3,356 KB
random_small4.txt AC 20 ms
4,060 KB
random_small5.txt AC 24 ms
4,052 KB
sample1.txt AC 4 ms
3,288 KB
sample2.txt AC 0 ms
3,244 KB
sample3.txt AC 0 ms
3,312 KB
sample4.txt AC 4 ms
3,308 KB
テストケース一括ダウンロード

ソースコード

diff #
#include<bits/stdc++.h>
using namespace std;

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    int Q, K;
    cin >> Q >> K;
    priority_queue<long long, vector<long long>, less<long long>> Ls;
    priority_queue<long long, vector<long long>, greater<long long>> Rs;
    int q;
    long long v;
    while (Q--){
        cin >> q;
        if (q == 1){
            cin >> v;
            if (Ls.size() < K){
                Ls.push(v);
            }else if (Ls.top() <= v){
                Rs.push(v);
            }else{
                Rs.push(Ls.top());
                Ls.pop();
                Ls.push(v);
            }
        }else{
            if (Ls.size() < K){
                cout << -1 << '\n';
            }else{
                cout << Ls.top() << '\n';
                Ls.pop();
                if (Rs.empty()) continue;
                Ls.push(Rs.top());
                Rs.pop();
            }
        }
    }
    return 0;
}
0