Технокубок 2019 - Отборочный Раунд 2 |
---|
Закончено |
Дан массив $$$a$$$ длины $$$n$$$, состоящий из нулей и единиц.
Можно несколько раз выполнить следующую операцию, состоящую из двух шагов:
Определите, возможно ли обнулить все элементы массива. Если возможно, то выведите сами операции, причём их количество не должно превышать $$$(\lfloor \frac{n}{3} \rfloor + 12)$$$. Здесь $$$\lfloor q \rfloor$$$ означает число $$$q$$$, округленное вниз. Можно показать, что если можно обнулить все элементы массива, то можно их обнулить и не более чем за такое количество операций.
Первая строка содержит одно целое число $$$n$$$ ($$$3 \le n \le 10^5$$$) — длина массива.
Во второй строке находятся $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$0 \le a_i \le 1$$$) — элементы массива.
В первой строке выведите «YES» (без кавычек), если ответ существует, и «NO» (без кавычек) иначе. Вы можете выводить каждую букву в любом регистре (строчную или заглавную).
Если ответ существует, то во второй строке выведите целое число $$$m$$$ ($$$0 \le m \le (\lfloor \frac{n}{3} \rfloor + 12)$$$) — количество операций в ответе.
Далее в ($$$i + 2$$$)-й строке выведите $$$i$$$-ю операцию — числа $$$x_i, y_i, z_i$$$. Допустимо выводить эти три числа в произвольном порядке.
5
1 1 0 1 1
YES
2
1 3 5
2 3 4
3
0 1 0
NO
Изменения массива в первом тесте в авторском решении:
Возможны и другие ответы. В этом тесте количество операций не должно превышать $$$\lfloor \frac{5}{3} \rfloor + 12 = 1 + 12 = 13$$$.
Во втором тесте единственная доступная операция — это поменять значения всех элементов на противоположные. Следовательно, можно получить массивы 0 1 0 и 1 0 1, но нельзя обнулить все элементы.
Название |
---|