एल्गोरिदम और डेटा संरचनाएँ

कस्टम हीप (Heap) को लागू करना

शुरुआती रूप से एक ख़ाली हीप को ध्यान में रखते हुए, आपको q अनुरोध (queries) निष्पादित करने के लिए कहा जाता है। इन अनुरोधों के तीन प्रकार होते हैं:

  1. add x – यह अनुरोध हीप में x को जोड़ता है।

  2. pop – यह अनुरोध हीप के रूट (root) को हटा देता है।

  3. max – यह अनुरोध हीप में मौजूदा सबसे बड़े तत्व को दिखाना चाहिए।

इनपुट

इनपुट की पहली पंक्ति में एक पूर्णांक q (1 ≤ q ≤ 10^5) दिया जाता है।

इसके बाद की अगली q पंक्तियों में प्रत्येक अनुरोध (query) अलग-अलग पंक्तियों में होता है। यह सुनिश्चित किया गया है कि सभी add अनुरोधों में ‘x’ का परिमाण से अधिक नहीं होगा। साथ ही यह भी गारंटी है कि सभी ऑपरेशन्स मान्य हैं और किसी भी समय ख़ाली हीप पर pop ऑपरेशन नहीं किया जाएगा।

आउटपुट

प्रोग्राम को सभी max अनुरोधों के लिए उचित मानों को अलग-अलग पंक्तियों में प्रदर्शित करना चाहिए।

उदाहरण

इनपुट

आउटपुट

9
add 1
add 2
max
add -3
add 4
max
add -2
pop
max

2
4
2

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue