poj3481(map的使用)Double Queue

2017-07-30 80点热度 0人点赞
//题意:维护一个集合,操作有1:加入一个元素,2:删除最大元素,3:删除最小元素。
//map默认按key从小到大排序
#include
#include
#include
using namespace std;
map mp;
map::iterator it;
int main()
{
    int a,b,x;
    while(~scanf("%d",&x)&&x)
    {
        if(x==1)
        {
            scanf("%d%d",&a,&b);
            mp[b]=a;
        }
        if(x==2)
        {
            if(!mp.size())
            {
                puts("0");
                continue;
            }
            it=mp.end();
            --it;
            printf("%dn",it->second);
            mp.erase(it);
        }
        if(x==3)
        {
            if(!mp.size())
            {
                puts("0");
                continue;
            }
            it=mp.begin();
            printf("%dn",it->second);
            mp.erase(it);
        }
    }
    return 0;
}

未经允许不得转载!poj3481(map的使用)Double Queue

本文地址:https://ai.52learn.online/458

站长邮箱:ai52learn@foxmail.com