#include <iostream>
using namespace std;
template<class Item>
class PQ{
private:
Item *pq; /*Массив элементов*/
int n; /*Текущее оличество элементов в очереди*/
int max; /*Максимальное количество элементов в очереди*/
public:
PQ(int max){
pq = new Item[max];
n = 0;
this->max = max;
}
~PQ(){
delete[] pq;
}
int empty() const{ return n == 0; }
/*Функция добавления элемента, поддерживающая упорядоченность массива*/
void insert(Item item){
if(n+1 < max){
int location = n - 1;
while(location >= 0 && pq[location] > item){
pq[location + 1] = pq[location];
location = location - 1;
}
pq[location + 1] = item;
n++;
}
//pq[n++] = item;
}
};
int main() {
// your code goes here
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdGVtcGxhdGU8Y2xhc3MgSXRlbT4KY2xhc3MgUFF7CnByaXZhdGU6CglJdGVtICpwcTsJLyrQnNCw0YHRgdC40LIg0Y3Qu9C10LzQtdC90YLQvtCyKi8KCWludCBuOwkJLyrQotC10LrRg9GJ0LXQtSDQvtC70LjRh9C10YHRgtCy0L4g0Y3Qu9C10LzQtdC90YLQvtCyINCyINC+0YfQtdGA0LXQtNC4Ki8KCWludCBtYXg7CS8q0JzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQsiDQvtGH0LXRgNC10LTQuCovCnB1YmxpYzoKCVBRKGludCBtYXgpewoJCXBxID0gbmV3IEl0ZW1bbWF4XTsKCQluID0gMDsKCQl0aGlzLT5tYXggPSBtYXg7Cgl9CgoJflBRKCl7CgkJZGVsZXRlW10gcHE7Cgl9CgoJaW50IGVtcHR5KCkgY29uc3R7IHJldHVybiBuID09IDA7IH0KCgkvKtCk0YPQvdC60YbQuNGPINC00L7QsdCw0LLQu9C10L3QuNGPINGN0LvQtdC80LXQvdGC0LAsINC/0L7QtNC00LXRgNC20LjQstCw0Y7RidCw0Y8g0YPQv9C+0YDRj9C00L7Rh9C10L3QvdC+0YHRgtGMINC80LDRgdGB0LjQstCwKi8KCXZvaWQgaW5zZXJ0KEl0ZW0gaXRlbSl7CgkJaWYobisxIDwgbWF4KXsKCQkJaW50IGxvY2F0aW9uID0gbiAtIDE7CgoJCQl3aGlsZShsb2NhdGlvbiA+PSAwICYmIHBxW2xvY2F0aW9uXSA+IGl0ZW0pewoJCQkJcHFbbG9jYXRpb24gKyAxXSA9IHBxW2xvY2F0aW9uXTsKCQkJCWxvY2F0aW9uID0gbG9jYXRpb24gLSAxOwoJCQl9CgkJCXBxW2xvY2F0aW9uICsgMV0gPSBpdGVtOwoJCQluKys7CgkJfQoJCS8vcHFbbisrXSA9IGl0ZW07Cgl9Cgp9OwoKaW50IG1haW4oKSB7CgkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCglyZXR1cm4gMDsKfQ==