rt(不喜勿喷
#include<iostream>
#include<iomanip>
using namespace std;
int n,a[3005];
void d(int x)
{
if(x>=n)
{
return;
}
else if(a[x]<a[(x-1)/2])
{
swap(a[x],a[(x-1)/2]);
d((x-1)/2);
}
else if(a[x]<a[x-1])
{
swap(a[x],a[x-1]);
d(x-1);
}
else
{
d(x+1);
}
}
int main()
{
int i;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a[i];
}
d(1);
for(i=0;i<n;i++)
{
cout<<setw(5)<<a[i];
if((i+1)%10==0)
cout<<endl;
}
return 0;
}