Олимпиадный тренинг

Задача . RLE


Задача

Темы:
Петя сохраняет в память текст. Известно, что алфавит текста составляет 32 символа. Петя использует равномерное кодирование и сохраняет в память коды символов, используя минимально возможное одинаковое для кодов всех символов количество бит.
Вася и Таня изучают кодирование длин серий, run-length encoding (RLE) и пытаются его применить к тексту Пети для того, чтобы он занимал меньше места в памяти.
В случае RLE кодирования весь текст представляется как расположенные друг за другом непересекающихся последовательности из одинаковых символов так, что символы в двух соседних последовательностях отличаются. При этом в памяти сохраняется для каждой последовательности два значения: длина последовательности и код повторяющегося в ней символа. Для записи кода символа используется минимальное возможное одинаковое для кодов всех символов количество бит. Для записи длины последовательности используется минимально возможное одинаковое для всех возможных значений этого параметра количество бит.
Вася обнаружил, что максимальная длина последовательности из одинаковых символов, которая встречается в тексте, равна M и решил, что в строке могут встречаться все возможные длины последовательностей, не превышающие M. Исходя из этого предположения, он определил количество бит, необходимое для записи длины последовательности и сохранив в память текст Пети с помощью кодирования RLE обнаружил, что он занимает ровно 208 байт памяти.
Также Вася обнаружил, что максимальная длина последовательности из одинаковых символов ровно в X раз меньше общего количества символов в тексте Пети.
Таня проанализировала текст более внимательно и обнаружила, что количество различных длин последовательностей, которые встречаются в тексте ровно в 16 раз меньше, чем длина максимальной последовательности. Исходя из этого, она определила другое количество бит, необходимое для записи длины последовательности и сохранив в память текст Пети с помощью кодирования RLE обнаружила, что он занимает ровно 144 байта памяти.
Определите значение X, если известно, что текст, сохраненный Петей, занимает на 12272 байта больше памяти, чем текст, сохраненный Васей. Если таких значений несколько, определите минимальное из них. В ответе укажите целое число. 

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя