【Basic Level】
*1005
#include <iostream>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
int main()
{
int n = 0, i = 0, a[100], b[100] = {0};
cin >> n;
while (n--)
{
cin >> a[i++];
}
for (int j = 0; j < i; j++)
{
if (!b[j])
{
int temp = a[j];
while (temp != 1)
{
if (temp % 2 == 0)
{
temp >>= 1;
}
else
{
temp += (temp + 1) / 2;
}
for (int k = 0; k < i; k++)
{
if (!b[k])
{
if (temp == a[k])
{
b[k] = 1;
}
}
}
}
}
}
int m[100] = {0};
int l = 0;
for (int j = 0; j < i; j++)
{
if (!b[j])
{
m[l++] = a[j];
}
}
int temp;
for (int k = 0; k < l - 1; k++)
{
for (int q = 0; q < l - k - 1; q++)
{
if (m[q] < m[q + 1])
{
temp = m[q];
m[q] = m[q + 1];
m[q + 1] = temp;
}
}
}
for (int k = 0; k < l - 1; k++)
{
cout << m[k] << ' ';
}
cout << m[l - 1];
//system("pause");
return 0;
}