Автор: | M. Sporyshev, A. Zhikhareva | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt |
В лаборатории стоит необычная конструкция из N одинаковых цилиндрических сосудов, выстроенных в ряд.
В i-й сосуд налито ai миллилитров жидкости.
За один шаг можно перелить любое количество жидкости из одного сосуда в одного или обоих его соседей слева и справа в любой пропорции. Количество жидкости во всех сосудах после каждого шага должно оставаться целочисленным.
Требуется написать программу, выполняющую минимально необходимое количество вышеописанных шагов, чтобы уравнять количество жидкости во всех сосудах.
Первая строка входного файла содержит целое число N.
Вторая строка содержит N целых чисел ai. Гарантируется, что общее количество жидкости делится на N.
Первая строка выходного файла должна содержать целое число S — минимальное число шагов.
Следующие S строк содержат по три целых числа I, L, R — индекс сосуда, начиная с 1, увеличение уровня в соседнем слева сосуде, увеличение уровня в соседнем справа сосуде соответственно.
Если решений несколько, выведите любое из них.
1 ≤ N ≤ 105
0 ≤ ai ≤ 109
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|