Враховуючи несортований список унікальних, додатних цілих чисел, виведіть найкоротший список найдовших можливих діапазонів послідовних цілих чисел.
ВХОД
- Несортований список унікальних, натуральних чисел
- напр
9 13 3 11 8 4 10 15
- напр
- Введення можна взяти з будь-якого з наступного:
stdin- Аргументи командного рядка
- аргументи функції
ВИХІД
- Впорядкований список діапазонів або окремих значень, надрукованих на одному рядку до stdout або найближчого подібного виводу вашої мови.
- Якщо є два чи більше послідовних цілих чисел (послідовних за значенням, а не за місцем розташування у списку), вони будуть позначатися як інклюзивний діапазон, використовуючи - наприклад,
8-11 - Усі інші цілі числа просто надруковані без жодних інших позначень
- Один простір обмежує вихід
- Якщо є два чи більше послідовних цілих чисел (послідовних за значенням, а не за місцем розташування у списку), вони будуть позначатися як інклюзивний діапазон, використовуючи - наприклад,
- Числа, відсутні у вході, не повинні бути у висновку, наприклад,
3 5 6не можуть бути скорочені до,3-6тому що4немає
ПРИКЛАДИ
Успішно:
IN> 9 13 3 11 8 4 10 15 6
OUT> 3-4 6 8-11 13 15
IN> 11 10 6 9 13 8 3 4 15
OUT> 3-4 6 8-11 13 15
IN> 5 8 3 2 6 4 7 1
OUT> 1-8
IN> 5 3 7 1 9
OUT> 1 3 5 7 9
Неправильно:
IN> 9 13 3 11 8 4 10 15
OUT> 3-15
Діапазон містить значення, які не знаходяться на вході
IN> 9 13 3 11 8 4 10 15
OUT> 3 4 8 9 10 11 13 15
Усі послідовні значення повинні бути представлені у вигляді діапазону
IN> 9 13 3 11 8 4 10 15
OUT> 3-4 8-9 10-11 13 15
Ділений діапазон, 8-9і 10-11повинен бути8-11
IN> 9 13 3 11 8 4 10 15
OUT> 8-9 13 10-11 3-4 15
Виведення неправильно упорядковано
ПРАВИЛА
- Стандартні лазівки заборонені
- Якщо ваша мова має функцію, це робити це заборонено
- Ви можете написати повну програму або функцію
- пробільний пробіл не має значення
СКОРІННЯ
- Найменший байт виграє