結果

問題 No.649 ここでちょっとQK!
ユーザー rpy3cpp
提出日時 2019-05-20 19:33:30
言語 C++14
(gcc 8.3.0)
結果
AC  
実行時間 69 ms
コード長 955 Byte
コンパイル時間 1,282 ms
使用メモリ 8,920 KB
最終ジャッジ日時 2019-09-21 09:17:22

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
corner1.txt AC 2 ms
6,872 KB
corner2.txt AC 3 ms
6,876 KB
corner3.txt AC 2 ms
6,872 KB
corner4.txt AC 24 ms
6,872 KB
corner5.txt AC 68 ms
6,872 KB
corner6.txt AC 58 ms
6,876 KB
corner7.txt AC 59 ms
6,876 KB
normal1.txt AC 3 ms
6,876 KB
normal2.txt AC 3 ms
6,872 KB
normal3.txt AC 3 ms
6,872 KB
normal4.txt AC 3 ms
6,876 KB
normal5.txt AC 2 ms
6,876 KB
random_large1.txt AC 32 ms
6,876 KB
random_large2.txt AC 32 ms
6,876 KB
random_large3.txt AC 32 ms
6,876 KB
random_large4.txt AC 35 ms
6,872 KB
random_large5.txt AC 35 ms
8,912 KB
random_large6.txt AC 39 ms
6,872 KB
random_large7.txt AC 42 ms
6,876 KB
random_large8.txt AC 45 ms
6,876 KB
random_large9.txt AC 49 ms
6,876 KB
random_large10.txt AC 53 ms
6,876 KB
random_large11.txt AC 56 ms
8,920 KB
random_large12.txt AC 60 ms
8,916 KB
random_large13.txt AC 62 ms
6,876 KB
random_large14.txt AC 66 ms
6,872 KB
random_large15.txt AC 69 ms
6,876 KB
random_small1.txt AC 3 ms
6,872 KB
random_small2.txt AC 3 ms
6,872 KB
random_small3.txt AC 3 ms
6,876 KB
random_small4.txt AC 22 ms
6,872 KB
random_small5.txt AC 24 ms
6,872 KB
sample1.txt AC 3 ms
6,872 KB
sample2.txt AC 3 ms
6,872 KB
sample3.txt AC 3 ms
6,872 KB
sample4.txt AC 2 ms
6,876 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