+ محدودیت زمان: ۲ ثانیه
+ محدودیت حافظه: ۲۵۶ مگابایت
----------
داده ساختار **صف اولویت میانه** شامل $n$ عنصر مجزاست که اعمال زیر را میتوان روی آن انجام داد:
+ درج یک عنصر و حذف میانه، در بدترین حالت در $O(log \,n)$
+ ساخت یک صف اولویت میانه `MPQ` از $n$ عنصر در زمان $O(log \,n)$
# ورودی
در خط اول عدد $k$ که نشاندهنده تعداد دستورهایی است که شما باید اجرا کنید میآید. در $k$ سطر بعد، $k$ دستور داده میشود که دستور $build$ لزوما در خط اول داده خواهد شد. دستورات ممکن به شرح زیر هستند:
+ دستور $build(x_1,x_2,\cdots,x_m)$ : یک `MPQ` از اعداد $x_1$ تا $x_m$ در زمان $O(n)$ میسازد. (برای بدست آوردن میانه این اعداد میتوانید $O(n \,log\, n)$ زمان هزینه کنید و این جزء مراحل ساخت `MPQ` به حساب نمیآید.)
+ دستور $insert(x)$ : عدد $x$ را در $O(log \,n)$ در `MPQ` درج میکند.
+ دستور $remove$ : میانه را در $O(log \,n)$ از `MPQ` حذف میکند.(اگر تعداد عناصر زوج باشد، عنصر $\frac{n}{2}$امین در لیست مرتب عناصر را میانه درنظر بگیرید)
$$1 \leq t \leq 10^5$$
$$10^{-9} \leq x_i \leq 10^9$$
# خروجی
شما باید به تعداد دستورهای $remove$ در ورودی، عدد حاصل از فراخوانی این تابع را در خروجی چاپ کنید.
فرض کنید تعداد خروجیهایی که یک برنامه چاپ میکند بیشتر از $5 \times 10^6$ نخواهد بود.
# مثال
## ورودی نمونه
```
6
build(1,2,3,4,5)
remove
remove
insert(7)
insert(9)
remove
```
## خروجی نمونه
```
3
2
5
```
صف اولویت میانه
محدودیت زمان: ۲ ثانیه
محدودیت حافظه: ۲۵۶ مگابایت
داده ساختار صف اولویت میانه شامل n عنصر مجزاست که اعمال زیر را میتوان روی آن انجام داد:
درج یک عنصر و حذف میانه، در بدترین حالت در O(logn)
ساخت یک صف اولویت میانه MPQ از n عنصر در زمان O(logn)
در خط اول عدد k که نشاندهنده تعداد دستورهایی است که شما باید اجرا کنید میآید. در k سطر بعد، k دستور داده میشود که دستور build لزوما در خط اول داده خواهد شد. دستورات ممکن به شرح زیر هستند:
دستور build(x1,x2,⋯,xm) : یک MPQ از اعداد x1 تا xm در زمان O(n) میسازد. (برای بدست آوردن میانه این اعداد میتوانید O(nlogn) زمان هزینه کنید و این جزء مراحل ساخت MPQ به حساب نمیآید.)
دستور insert(x) : عدد x را در O(logn) در MPQ درج میکند.
دستور remove : میانه را در O(logn) از MPQ حذف میکند.(اگر تعداد عناصر زوج باشد، عنصر 2nامین در لیست مرتب عناصر را میانه درنظر بگیرید)
شما باید به تعداد دستورهای remove در ورودی، عدد حاصل از فراخوانی این تابع را در خروجی چاپ کنید.
فرض کنید تعداد خروجیهایی که یک برنامه چاپ میکند بیشتر از 5×106 نخواهد بود.