HDU 4006 The kth great number(優先列)

733 ワード

挿入操作だけですので、複雑ではないデータ構造です.優先列で大丈夫です.維持列の中にk個の要素があります.このように取り出すヘッドは必ずk番目の大きさになります.
コード:
#include 
#include 
#include 
#include 
using namespace std;

int n, k;

int main() {
    while (~scanf("%d%d", &n, &k)) {
        char s[2];
        int x;
        priority_queue, greater > Q;
        while (n--) {
            scanf("%s", s);
            if (s[0] == 'I') scanf("%d", &x), Q.push(x);
            else {
                while (Q.size() > k) Q.pop();
                printf("%d
", Q.top()); } } } return 0; }