페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3026
스페셜 저지

소 순서 찾기 1s 512MB

문제

성빈이는 N마리의 소를 갖고있다. 각 소는 0에서 N-1까지의 고유 숫자가 매겨져 있고 모든 소들의 고유 숫자는 서로 다르다. 소들은 임의의 순서로 줄 서있다. 소의 위치는 순서대로 0에서 N-1로 표시한다.

 

우리가 모르는 번호가 있기 때문에, 성빈이는 엄청 많은 질문에 답 해야 한다는 것을 알게 되었다. 질문형식은 다음과 같다. "L과 R 사이에 있는 가장 작은 소의 번호는 무엇입니까?"

 

귀찮았던 성빈이는 서현이에게 최저임금보다 더 적은 돈을 주며 질문에 답하게 했고 서현이는 마감 4분 전에 모든 것을 끝냈다. 싼 임금에 일을 끝내게 된 성빈이는 매우 행복해 했다.

 

몇 년 후, 성빈이의 회사가 어려워졌다. 왠지 서현이한테 맡긴 일이 원인인 것 같아서 서현이가 일을 제대로 수행했는지 알고 싶었다. 그 당시 질문과 서현이가 구한 답들은 남아있어서 이들 자료를 토대로 그 당시 서있었던 소들의 순서를 복원하고자 한다. 성빈이를 도와서 모든 서현이의 답변이 유효한지 검증해보자. 

 


입력

첫 번째 줄에는 소들의 수 N(1≤N≤100,000)과 질문의 수 Q(1≤Q≤100,000)가 주어진다. 다음 Q개의 줄에서 i번째 줄은 i번째 질문의 왼쪽과 오른쪽 끝 값 L, R(0≤L≤R≤N)과 서현이의 답 A(0≤A<N)이 주어진다.

출력

한 줄에 가능한 초기 소의 위치 N개를 출력하라. 답이 여러 개라면 그 중 하나를 출력하라. 만약 가능한 소의 위치가 존재하지 않는다면 -1을 N개 출력하라.

예제 #1

5 3

0 2 1
1 3 0
1 4 0
1 4 3 0 2

예제 #2

3 2

0 1 1
1 2 1
-1 -1 -1

출처

NOI2017
로그인해야 코드를 작성할 수 있어요.