Сжатие последовательности с помощью циклического сдвига
TypeScript
Средний
loops
Задача «Сжатие последовательности с помощью циклического сдвига»
Дана последовательность целых чисел. Необходимо найти минимальную длину сжатой строки, полученной путем циклического сдвига исходной последовательности и последующего сжатия подряд идущих одинаковых чисел в формат 'число количество'. Например, последовательность [1,1,2,2,2] после сжатия превращается в '1 2 2 3'. Циклический сдвиг означает, что мы можем перенести несколько первых элементов в конец. Нужно перебрать все возможные сдвиги (от 0 до n-1), выполнить сжатие и найти минимальную длину полученной строки (в символах, включая пробелы). Если длины равны, выбрать сдвиг с наименьшим номером. Ограничения: n ≤ 100, числа от 0 до 100.
Формат ввода
Первая строка содержит целое число n (1 ≤ n ≤ 100) — количество чисел. Вторая строка содержит n целых чисел, разделенных пробелами.
Формат вывода
Выведите два числа: номер сдвига (от 0) и минимальную длину сжатой строки, разделенные пробелом.
Примеры
Пример 1
ВВОД
3
1 2 3
ВЫВОД
0 11
Пример 2
ВВОД
4
1 1 1 1
ВЫВОД
0 3
Пример 3
ВВОД
6 3
1 -2 3 4 -5 6
ВЫВОД
0 25
main.ts