Codeforces Round 889 (Div. 1) |
---|
Закончено |
Единственное различие между двумя версиями этой задачи — ограничение на максимальное количество операций. Делать взломы можно только в том случае, если решены обе версии задачи.
Вам дан массив $$$a_1, a_2,\dots, a_n$$$ целых чисел (положительных, отрицательных или $$$0$$$). Вы можете выполнить над массивом несколько операций (возможно, $$$0$$$).
Операция производится так: выбираются $$$i, j$$$ ($$$1 \leq i, j \leq n$$$, они могут быть равны) и задается $$$a_i := a_i + a_j$$$ (т.е. к $$$a_i$$$ прибавляется $$$a_j$$$).
Сделайте массив неубывающим (т.е. $$$a_i \leq a_{i+1}$$$ для $$$1 \leq i \leq n-1$$$) не более чем за $$$31$$$ операций. Минимизировать количество операций не требуется.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 500$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора содержит одно целое число $$$n$$$ ($$$1 \le n \le 20$$$) — длину массива.
Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$-20 \le a_i \le 20$$$) — массив перед выполнением операций.
Для каждого набора входных данных выведите свои операции в следующем формате:
Первая строка должна содержать целое число $$$k$$$ ($$$0 \le k \le 31$$$) — количество операций.
Следующие $$$k$$$ строк представляют собой $$$k$$$ операций по порядку. Каждая из этих $$$k$$$ строк должна содержать два целых числа $$$i$$$ и $$$j$$$ ($$$1 \leq i, j \leq n$$$) — соответствующая операция заключается в прибавлении $$$a_j$$$ к $$$a_i$$$.
После всех операций массив $$$a_1, a_2,\dots, a_n$$$ должен быть неубывающим.
1022 141 2 -10 352 1 1 1 180 0 0 0 0 0 0 051 2 -4 3 -101011 12 13 14 15 -15 -16 -17 -18 -1971 9 3 -4 -3 -2 -1310 9 8201 -14 2 -10 6 -5 10 -13 10 7 -14 19 -5 19 1 18 -16 -7 12 820-15 -17 -13 8 14 -13 10 -4 11 -4 -16 -6 15 -4 -2 7 -9 5 -5 17
1 2 1 3 4 4 4 4 3 4 4 2 1 3 1 4 1 5 1 0 7 3 4 3 4 5 4 5 4 5 4 5 4 5 4 15 6 1 6 1 6 1 7 2 7 2 7 2 8 3 8 3 8 3 9 4 9 4 9 4 10 5 10 5 10 5 8 3 4 3 4 2 4 2 4 2 4 2 4 1 4 1 4 3 2 1 3 1 3 1 31 14 1 18 7 13 11 15 11 6 4 5 17 19 6 19 12 10 5 11 12 1 17 15 19 16 10 14 2 16 11 20 7 7 6 9 5 3 6 6 14 17 18 18 14 12 3 17 16 8 18 13 16 9 8 14 8 16 2 11 8 12 7 31 5 12 19 13 9 1 5 17 18 19 6 16 15 8 6 9 15 14 7 10 19 7 17 20 14 4 15 20 4 3 1 8 16 12 16 15 5 6 12 10 11 15 20 3 20 19 13 14 11 14 18 10 7 3 12 17 4 7 13 2 11 13
В первом наборе входных данных, добавив к $$$a_2$$$ $$$a_1 = 2$$$, получим массив $$$[2, 3]$$$, который является неубывающим.
Во втором наборе входных данных массив изменяется следующим образом:
В третьем наборе входных данных итоговый массив имеет вид $$$[2, 3, 3, 3, 3]$$$.
Название |
---|