poj3481(map的使用)Double Queue

太过爱你忘了你带给我的痛 2024-02-17 23:55 127阅读 0赞
  1. //题意:维护一个集合,操作有1:加入一个元素,2:删除最大元素,3:删除最小元素。
  2. //map默认按key从小到大排序
  3. #include<cstdio>
  4. #include<iostream>
  5. #include<map>
  6. using namespace std;
  7. map<int,int> mp;
  8. map<int,int>::iterator it;
  9. int main()
  10. {
  11. int a,b,x;
  12. while(~scanf("%d",&x)&&x)
  13. {
  14. if(x==1)
  15. {
  16. scanf("%d%d",&a,&b);
  17. mp[b]=a;
  18. }
  19. if(x==2)
  20. {
  21. if(!mp.size())
  22. {
  23. puts("0");
  24. continue;
  25. }
  26. it=mp.end();
  27. --it;
  28. printf("%d\n",it->second);
  29. mp.erase(it);
  30. }
  31. if(x==3)
  32. {
  33. if(!mp.size())
  34. {
  35. puts("0");
  36. continue;
  37. }
  38. it=mp.begin();
  39. printf("%d\n",it->second);
  40. mp.erase(it);
  41. }
  42. }
  43. return 0;
  44. }

发表评论

表情:
评论列表 (有 0 条评论,127人围观)

还没有评论,来说两句吧...

相关阅读