Advertisement
Guest User

Untitled

a guest
Jan 1st, 2021
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. void solve()
  2. {
  3. map<int,map<int,int>,greater<>>m;//price
  4. map<int,int>m2;//queue
  5. int q;cin>>q;
  6. int k=1;
  7. while(q--)
  8. {
  9. int a;cin>>a;
  10. if(a==1)
  11. {
  12. int price;cin>>price;
  13. m2[k]=price;
  14. m[price][k]=0;
  15. k++;
  16. }
  17. else if(a==2)
  18. {
  19. cout<<m2.begin()->first<<" ";
  20. m[m2.begin()->second].erase(m2.begin()->first);
  21. m2.erase(m2.begin());
  22. }
  23. else
  24. {
  25. int z=m.begin()->first;
  26. int l=m[z].begin()->first;
  27. cout<<l<<" ";
  28. m2.erase(m[z].begin()->first);
  29. m[z].erase(m[z].begin());
  30. }
  31. }
  32. }
  33. int main()
  34. {
  35. ios_base::sync_with_stdio(false);
  36. cin.tie(NULL);
  37. int t;t=1;
  38. //cin>>t;
  39. while(t--)
  40. {
  41. solve();
  42. }
  43. return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement