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;
}