Logo
(追記) (追記ここまで)

19906번 - Постановочное фото 서브태스크스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 512 MB44262256.410%

문제

Перед общим фотографированием участников всероссийской олимпиады школьников по информатике главный фотограф решил сделать постановочное фото для своих подписчиков в социальной сети 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$).

Если существует несколько решений, выведите любое из них.

제한

서브태스크

번호배점제한
115

$m \le 100,ドル $n \le 100$

215

$m \le 10^4,ドル $n \le 10^4$

35

$m \le 3 \cdot 10^5,ドル $n \le 2$

45

$m \le 3 \cdot 10^5,ドル $n \le 3$

520

$m \le 3 \cdot 10^5,ドル $n \le 10$

640

$m \le 3 \cdot 10^5,ドル $n \le 3 \cdot 10^5$

예제 입력 1

7 10
10 5 5 10 4 2 4

예제 출력 1

5
4 1 7
7 2 4
10 1 4
5 2 3
2 6 6

예제 입력 2

5 2
1 2 1 2 1

예제 출력 2

-1

힌트

출처

Olympiad > Russian Olympiad in Informatics > Russian Olympiad in Informatics 2019 1번

채점 및 기타 정보

  • 예제는 채점하지 않는다.
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /