poj3481(map的使用)Double Queue

来源:互联网 发布:主机屋mysql数据库地址 编辑:程序博客网 时间:2024/05/21 04:25
//题意:维护一个集合,操作有1:加入一个元素,2:删除最大元素,3:删除最小元素。//map默认按key从小到大排序#include<cstdio>#include<iostream>#include<map>using namespace std;map<int,int> mp;map<int,int>::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("%d\n",it->second);            mp.erase(it);        }        if(x==3)        {            if(!mp.size())            {                puts("0");                continue;            }            it=mp.begin();            printf("%d\n",it->second);            mp.erase(it);        }    }    return 0;}

原创粉丝点击