Test instructions: Dynamic Insert Delete query data, allow data duplication
Analysis: A look is a multiset, directly do. STL Dafa is good.
Code:
#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; } }}
Copyright NOTICE: This article for Bo Master original article, without Bo Master permission not reproduced.
HDU 5349 Dynamic Insert Delete query data-multiset