Вступ
Хтось із вас, можливо, чув про Grand Hotel Hilbert . Менеджер там втратив свій список, де гості перебувають, але він все ще має порядок, в якому вони заїхали. Кожен гість не може перебувати в номері, номер якого менше їхньої вартості, і якщо гостя додано до нижчого кімната, всі гості у вищих кімнатах без порожнього місця між ними та новим гостем переміщуються на одну кімнату. Чи можете ви допомогти йому знайти місце перебування кожного з гостей?
Вимоги
Напишіть програму, яка отримує впорядкований список натуральних чисел у якості вхідних даних та розміщує їх у своєму індексі. Якщо в цьому індексі вже є значення, воно переміщується до наступного запису у списку. Цей процес повторюється, поки не буде знайдено перший порожній (0 або невизначений) пробіл. Будь-які невизначені пробіли між поточним найвищим індексом та будь-яким новим введенням заповнюються додаванням 0. Оскільки це гранд-готель «Гільберт», номерів, вищих за поточний найвищий зайнятий індекс, не існує.
Вхід і вихід
Введення буде впорядкований список натуральних чисел (можна прочитати через будь-яку прийняту форму введення)
Кожне число на вході вважаються один гостем прибуттям в готелі і в порядку надходження
Результатом буде остаточне розташування гостей (кількість)
Приклади
Вхід: 1 3 1
Вихід: 1 1 3
Крок за кроком:
1
Створіть номер в індексі 1 і помістіть 1 в ній
1 0 3
Створіть кімнати до індексу 3 і поставте 3 в кімнаті 3
1 1 3
Перемістіть вміст кімнати 1 вгору одна кімната і помістіть 1 в номер 1Вхід: 1 4 3 1 2 1
Вихід : 1 1 2 1 3 4
Крок за кроком:
1
Створіть номер в індексі 1 і помістіть 1 в ній
1 0 0 4
Створіть кімнати до індексу 4 і поставте 4 в кімнаті 4
1 0 3 4
Помістіть 3 у кімнаті 3
1 1 3 4
Змістіть вміст кімнати 1 вгору до однієї кімнати та помістіть 1 у кімнаті 1
1 2 1 3 4
Змістіть вміст кімнат 2 на 4 вгору на одну кімнату та помістіть 2 у кімнату 2
1 1 2 1 3 4
Змістіть вміст кімнат 1 на 5 вгору на одну кімнату і помістіть 1 в номер 1Вхід: 10
Вихід: 0 0 0 0 0 0 0 0 0 0 10
Крок за кроком:
0 0 0 0 0 0 0 0 0 10
Створіть кімнати до кімнати 10 і поставте 10 в кімнаті 10Примітки:
Робота з індексованим 0 добре, і в цьому випадку ви можете вставити 0 на передній частині виводу
Стандартні лазівки заборонені, найкоротший код в байтах виграє