Постройте массив
Али с нуля любит создавать новый массив. Сегодня он хочет построить массив из элементов. Изначально он имеет массив , содержащий нулей, и может применять к этому массиву только следующие операции:
: Это означает, что для всех , удовлетворяющих условию . Разумеется, в этой операции должно выполняться условие .
Теперь Али думает над вопросом, за какое минимальное количество операций он сможет получить массив . Помогите Али найти минимальное количество операций и любую последовательность таких операций.
Входные данные
Первая строка содержит одно целое число . Следующая строка содержит целых чисел .
Выходные данные
Выведите минимальное количество операций, необходимое для получения массива 𝑎 в первой строке. Обозначим это количество через . Выведите любую такую последовательность операций в следующих 𝑚 строках в формате .
Примеры
Первый тест. Посмотрите, как меняется массив по мере применения операций:
b[] = 0 0 0 0 0 0 0 0 b[] = 1 1 1 0 0 0 0 0 b[] = 1 7 1 0 0 0 0 0 b[] = 1 7 1 7 7 0 0 0 b[] = 1 7 1 7 7 2 2 2 b[] = 1 7 1 7 7 3 2 2 b[] = 1 7 1 7 7 3 2 3
Невозможно получить данный массив менее чем за операций. Могут быть и другие правильные варианты последовательности операций.
Второй тест.
b[] = 0 0 0 0 0 0 0 b[] = 0 0 1 1 1 1 0 b[] = 0 0 1 3 3 1 0