#include<bits/stdc++.h>
using namespace std;
void insert(int x, vector<int>& min_heap, int &top){
min_heap.push_back(x);
top++;
int index = top;
while(index > 0){
int parent = (index - 1) / 2; // fixed
if(min_heap[parent] > min_heap[index]){
swap(min_heap[parent], min_heap[index]);
index = parent;
} else {
break;
}
}
}
void delete_heap(vector<int>& min_heap,int &top){
if(top==-1) return;
min_heap[0]=min_heap[top];
min_heap.pop_back();
top--;
int index=0;
while(index<=top){
int left=2*index+1;
int right=2*index+2;
int smallest=index;
if(left<=top && min_heap[left]<min_heap[smallest]){
smallest=left;
}
if(right<=top && min_heap[right]<min_heap[smallest]){
smallest=right;
}
if(smallest!=index){
swap(min_heap[smallest],min_heap[index]);
index=smallest;
} else {
break;
}
}
}
int main(){
vector<int> min_heap;
int top=-1;
for(int i=0;i<5;i++){
int x;
cin>>x;
insert(x,min_heap,top);
}
cout << "Heap after insertion: ";
for(int i=0;i<=top;i++){
cout << min_heap[i] << " ";
}
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCgp2b2lkIGluc2VydChpbnQgeCwgdmVjdG9yPGludD4mIG1pbl9oZWFwLCBpbnQgJnRvcCl7CiAgICBtaW5faGVhcC5wdXNoX2JhY2soeCk7CiAgICB0b3ArKzsKICAgIGludCBpbmRleCA9IHRvcDsKICAgIHdoaWxlKGluZGV4ID4gMCl7CiAgICAgICAgaW50IHBhcmVudCA9IChpbmRleCAtIDEpIC8gMjsgLy8gZml4ZWQKICAgICAgICBpZihtaW5faGVhcFtwYXJlbnRdID4gbWluX2hlYXBbaW5kZXhdKXsKICAgICAgICAgICAgc3dhcChtaW5faGVhcFtwYXJlbnRdLCBtaW5faGVhcFtpbmRleF0pOwogICAgICAgICAgICBpbmRleCA9IHBhcmVudDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cn0KCgp2b2lkIGRlbGV0ZV9oZWFwKHZlY3RvcjxpbnQ+JiBtaW5faGVhcCxpbnQgJnRvcCl7CiAgICBpZih0b3A9PS0xKSByZXR1cm47CiAgICBtaW5faGVhcFswXT1taW5faGVhcFt0b3BdOwogICAgbWluX2hlYXAucG9wX2JhY2soKTsKICAgIHRvcC0tOwogICAgaW50IGluZGV4PTA7CiAgICB3aGlsZShpbmRleDw9dG9wKXsKICAgICAgICBpbnQgbGVmdD0yKmluZGV4KzE7CiAgICAgICAgaW50IHJpZ2h0PTIqaW5kZXgrMjsKICAgICAgICBpbnQgc21hbGxlc3Q9aW5kZXg7CiAgICAgICAgaWYobGVmdDw9dG9wICYmIG1pbl9oZWFwW2xlZnRdPG1pbl9oZWFwW3NtYWxsZXN0XSl7CiAgICAgICAgICAgIHNtYWxsZXN0PWxlZnQ7CiAgICAgICAgfQogICAgICAgIGlmKHJpZ2h0PD10b3AgJiYgbWluX2hlYXBbcmlnaHRdPG1pbl9oZWFwW3NtYWxsZXN0XSl7CiAgICAgICAgICAgIHNtYWxsZXN0PXJpZ2h0OwogICAgICAgIH0KICAgICAgICBpZihzbWFsbGVzdCE9aW5kZXgpewogICAgICAgICAgICBzd2FwKG1pbl9oZWFwW3NtYWxsZXN0XSxtaW5faGVhcFtpbmRleF0pOwogICAgICAgICAgICBpbmRleD1zbWFsbGVzdDsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CiAgICB9Cgp9CgppbnQgbWFpbigpewogICAgdmVjdG9yPGludD4gbWluX2hlYXA7CiAgICBpbnQgdG9wPS0xOwoKICAgIGZvcihpbnQgaT0wO2k8NTtpKyspewogICAgICAgIGludCB4OwogICAgICAgIGNpbj4+eDsKICAgICAgICBpbnNlcnQoeCxtaW5faGVhcCx0b3ApOwogICAgfQogICAgY291dCA8PCAiSGVhcCBhZnRlciBpbnNlcnRpb246ICI7CiAgICBmb3IoaW50IGk9MDtpPD10b3A7aSsrKXsKICAgICAgICBjb3V0IDw8IG1pbl9oZWFwW2ldIDw8ICIgIjsKICAgIH0KICAgIHJldHVybiAwOwoKfQ==