HDU 5349 动态插入删除查询数据-multiset

来源:互联网 发布:mac如何安装ae插件 编辑:程序博客网 时间:2024/05/03 08:55

题意:动态的插入删除查询数据,允许数据重复

分析:一看就是个multiset,直接做。STL大法好。

代码:

#include<iostream>#include<cstring>#include<cstdio>#include<algorithm>#include<vector>#include<set>using namespace std;int n;int a;multiset<int> s;int main(){    while(scanf("%d",&n)!=EOF){        s.clear();        multiset<int>::iterator it;        for(int i=0;i<n;i++){            scanf("%d",&a);            int num;                    if(a==1){                scanf("%d",&num);                s.insert(num);            }            else if(a==2){                if(!s.empty()){                    it=s.begin();                    s.erase(it);                                   }            }            else{                if(!s.empty()){                    it=s.end();                    it--;                    printf("%d\n",*it);                }                else printf("0\n");                            }//for(it=s.begin();it!=s.end();it++) cout<<(*it)<<" ";cout<<endl;        }            }}


0 0