시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 33 | 20 | 16 | 57.143% |
Перед общим фотографированием участников всероссийской олимпиады школьников по информатике главный фотограф решил сделать постановочное фото для своих подписчиков в социальной сети Innogram.
В олимпиаде принимают участие школьники из $n$ регионов, каждая делегация состоит из $m$ школьников. Делегация каждого региона хочет подчеркнуть свою индивидуальность, поэтому надела фирменные футболки своего цвета, который не совпадает с цветом футболок никакого другого региона. Обозначим цвет футболки, который надели школьники $i$-го региона, числом $i$.
Для организации постановочного фото фотограф планирует действовать следующим образом. На сцене в ряд расположены места, куда могут вставать школьники, они пронумерованы вдоль сцены от $1$ до $m$. Фотограф планирует по очереди обратиться к руководителям некоторых делегаций с просьбой нескольким школьникам этой делегации выйти на сцену. При этом он указывает два числа: $L$ и $R$. Школьники выбранной делегации выходят на сцену и занимают все места от $L$-го до $R$-го, включительно. Если на каких-либо из этих мест уже стоят школьники других делегаций, то они уходят со сцены, а их места занимают школьники новой делегации. Фотограф может обратиться к руководителю каждой делегации не более одного раза.
Для цветовой гармонии на получившемся снимке фотограф хочет, чтобы на фотографии стояли $m$ школьников, причём цвета надетых на них футболок должны следовать в строго определенном порядке. Теперь он хочет понять, каким образом он может получить желаемую фотографию.
Требуется написать программу, которая по заданному порядку цветов футболок на фотографии определяет, в каком порядке следует попросить руководителей делегаций отправить школьников на сцену, и какие места им следует занять, чтобы сделать желаемое фото, либо выясняет, что это невозможно.
Первая строка входных данных содержит два целых числа: $m$ и $n$ ($1 \le m \le 3 \cdot 10^5$, $1 \le n \le 3 \cdot 10^5$). Вторая строка содержит $m$ целых чисел $a_1, a_2, \ldots, a_m$ ($1 \le a_i \le n$) --- цвета футболок в том порядке, в котором фотограф хочет получить их на фотографии.
Первая строка выходных данных должна содержать одно целое число $k$. Если сделать желаемое фото невозможно, это число должно быть равно $-1$. В противном случае оно должно быть равно количеству делегаций, к руководителям которых фотограф должен обратиться, чтобы сделать желаемое фото.
В этом случае следующие $k$ строк должны описывать просьбы фотографа в том порядке, в котором их следует сделать. Его $i$-я просьба задается тремя целыми числами: $c_i$, $L_i$ и $R_i$, где $c_i$ -- номер делегации, к которой следует обратиться, $L_i$ и $R_i$ --- номера первого и последнего места на сцене, соответственно, которые необходимо занять школьникам делегации $c_i$ ($1 \le c_i \le n$, все $c_i$ должны быть различны, $1 \le L_i \le R_i \le m$).
Если существует несколько решений, выведите любое из них.
번호 | 배점 | 제한 |
---|---|---|
1 | 15 | $m \le 100$, $n \le 100$ |
2 | 15 | $m \le 10^4$, $n \le 10^4$ |
3 | 5 | $m \le 3 \cdot 10^5$, $n \le 2$ |
4 | 5 | $m \le 3 \cdot 10^5$, $n \le 3$ |
5 | 20 | $m \le 3 \cdot 10^5$, $n \le 10$ |
6 | 40 | $m \le 3 \cdot 10^5$, $n \le 3 \cdot 10^5$ |
7 10 10 5 5 10 4 2 4
5 4 1 7 7 2 4 10 1 4 5 2 3 2 6 6
5 2 1 2 1 2 1
-1