İkiqat növbə
Balkan İnvestisiya Bank Qrupu (BİG-Bank) son zamanlarda Buxarestdə yeni bir ofis açdı. Bu ofis, IBM Rumıniya tərəfindən təmin edilmiş müasir hesablama texnikası ilə təchiz olunmuşdur və müasir informasiya texnologiyalarından istifadə edir. Bankın hər bir müştərisi natural ədəd k ilə tanınır. Banka xidmət almaq üçün gələn müştəri müəyyən bir natural ədəd - prioritet p alır. Bankın gənc menecerləri ənənəni pozaraq yalnız ən yüksək prioritetli müştərini deyil, həm də ən aşağı prioritetli müştərini ilk olaraq xidmət etməyi təklif etdilər. Sistemə aşağıdakı sorğu tipləri daxil olur:
0 Müştəri xidmət sistemi dayandırılır
1 k p Müştəri k-nı p prioriteti ilə gözləmə siyahısına əlavə et
2 Ən yüksək prioritetli müştəriyə xidmət et və gözləmə siyahısından çıxar
3 Ən aşağı prioritetli müştəriyə xidmət et və gözləmə siyahısından çıxar
Bankın proqram təminatı mühəndisinə kömək etməli və göstərilən prinsipə uyğun müştəri xidmət proqramı yazmalısınız.
Giriş məlumatları
Hər bir giriş sətiri mümkün sorğulardan birini ehtiva edir; yalnız sonuncu sətir sistemin işini dayandırmaq tələbini (kod 0) ehtiva edir. Müştərinin növbəyə daxil edilməsi sorğusu gəlirsə (kod 1), həmin müştəri və ya həmin prioritetə malik müştəri ilə bağlı başqa sorğuların mövcud olmadığını hesab edin. k dəyəri həmişə 10^6
-dan kiçikdir və prioritet p 10^7
-dən kiçikdir. Müştəri bir neçə dəfə gələ və xidmət ala bilər, hər dəfə fərqli prioritet dəyəri alaraq.
Çıxış məlumatları
Hər bir 2 və ya 3 kodlu sorğu üçün proqram xidmət edilmiş müştərinin identifikatorunu ayrıca sətirdə çıxarmalıdır. Əgər xidmət üçün boş növbə ilə sorğu daxil olursa, sıfır (0) çıxarılmalıdır.