시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 256 MB | 2 | 1 | 1 | 50.000% |
Вася придумал радикально новый способ сжатия текста. Он считает, что особенно хорошо его метод будет работать для языков с большим алфавитом, таких как китайский. По этой причине Вася представляет текст в виде последовательности кодов символов a1, a2, …, an.
Алгоритм сжатия разбит на фазы. На каждой фазе строится новая последовательность вдвое меньшей длины b1, b2, …, b⌈n/2⌉. При этом bi может равняться либо ai, либо an–i+1. Выбор оставляется на усмотрение архиватора. После этого исходная последовательность заменяется новой, и алгоритм переходит к следующей фазе. Процесс завершается, когда длина последовательности становится равной единице.
Вася заметил, что в случае неоднозначности (ai ≠ an–i+1) приходится сохранять дополнительные данные во избежание потери информации. Кроме того, от выбора символа на текущей фазе может зависеть наличие или отсутствие неоднозначностей в дальнейшем.
Для оценки эффективности алгоритма Вася решил назначать единицу штрафа за каждую неоднозначность, возникающую в процессе работы архиватора. К сожалению, Вася не смог придумать, каким образом нужно делать выбор при возникновении неоднозначностей, и обратился к вам за помощью. Он просит вас написать программу, которая вычислит минимальный возможный суммарный штраф при оптимальном разрешении неоднозначностей.
Первая строка содержит целое число n (1 ≤ n ≤ 200000). Вторая строка содержит исходную последовательность — n целых чисел a1, a2, …, an (1 ≤ ai ≤ 109).
Выведите целое число — минимальный суммарный штраф, который может быть достигнут при сжатии заданной последовательности по описанному алгоритму.
5 1 1 2 1 2
2
Contest > Russian Code Cup > 2011 > RCC 2011 Final Round D번