hdu 4006 The kth great number The 36th ACM/ICPC Asia Regional Dalian Site

水题,比赛时就是没有做出来,强烈鄙视自己

#include <iostream>
#include <cstring>
#include <cstdio>
#include <set>
using namespace std;

multiset<int>myset;

int main(){
    int n,k;
    //freopen("in.txt","r",stdin);
    while(scanf("%d%d",&n,&k)!=EOF){
        char s[2];
        int temp;
        myset.clear();
        for(int i=0;i<n;i++){
            scanf("%s",s);
            if(s[0]=='I') {
                scanf("%d",&temp);
                if(myset.size()<k)
                {
                   myset.insert(temp);
                   continue;
                }
                if(myset.size()==k && *(myset.begin())<temp)
                {
                   myset.erase(myset.begin());
                   myset.insert(temp);
                   continue;
                }
            }
            if(s[0]=='Q' && myset.size()==k){
            int ans = *(myset.begin());
            printf("%d\n",ans);
            }
        }
    }
    return 0;
}

posted on 2011-09-09 09:24  _Clarence  阅读(124)  评论(0编辑  收藏  举报

导航