ساعت
۹۰۱۲۳۴۵۶۷۸۹۰۹۰۱۲۳۴۵۶۷۸۹۰
ساعت
دقیقه
۹۰۱۲۳۴۵۶۷۸۹۰۹۰۱۲۳۴۵۶۷۸۹۰
دقیقه
ثانیه
۹۰۱۲۳۴۵۶۷۸۹۰۹۰۱۲۳۴۵۶۷۸۹۰
ثانیه
  • محدودیت زمان: ۲ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

داده ساختار صف اولویت میانه شامل nn عنصر مجزاست که اعمال زیر را می‌توان روی آن انجام داد:

  • درج یک عنصر و حذف میانه، در بدترین حالت در O(log,n)O(log ,n)
  • ساخت یک صف اولویت میانه MPQ از nn عنصر در زمان O(log,n)O(log ,n)

ورودی

در خط اول عدد kk که نشان‌دهنده‌ تعداد دستورهایی است که شما باید اجرا کنید می‌آید. در kk سطر بعد، kk دستور داده می‌شود که دستور buildbuild لزوما در خط اول داده خواهد شد. دستورات ممکن به شرح زیر هستند:

  • دستور build(x1,x2,,xm)build(x_1,x_2,\cdots,x_m) : یک MPQ از اعداد x1x_1 تا xmx_m در زمان O(n)O(n) می‌سازد. (برای بدست آوردن میانه این اعداد می‌توانید O(n,log,n)O(n ,log, n) زمان هزینه کنید و این جزء مراحل ساخت MPQ به حساب نمی‌آید.)
  • دستور insert(x)insert(x) : عدد xx را در O(log,n)O(log ,n) در MPQ درج می‌کند.
  • دستور removeremove : میانه را در O(log,n)O(log ,n) از MPQ حذف می‌کند.(اگر تعداد عناصر زوج باشد، عنصر n2\frac{n}{2}امین در لیست مرتب عناصر را میانه درنظر بگیرید)

1t1051 \leq t \leq 10^5 109xi10910^{-9} \leq x_i \leq 10^9

خروجی

شما باید به تعداد دستورهای removeremove در ورودی، عدد حاصل از فراخوانی این تابع را در خروجی چاپ کنید. فرض کنید تعداد خروجی‌هایی که یک برنامه چاپ می‌کند بیشتر از 5×1065 \times 10^6 نخواهد بود.

مثال

ورودی نمونه

6
build(1,2,3,4,5)
remove
remove
insert(7)
insert(9)
remove
Plain text

خروجی نمونه

3
2
5
Plain text

ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.