보석 (GEM)

각 값이 0에서 100 사이인 길이 N 배열에서 여러 구간 합의 일의 자리 조건이 주어질 때, 이를 만족하면서 사전순으로 가장 작은 배열을 구하고 모순이면 -1을 출력한다.

보통7유니온 파인드누적 합그래프그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

선홍이는 집 앞마당에 일렬로 놓인 NN개의 칸으로 된 화단을 가꾸고, 왼쪽부터 차례로 1번부터 NN번까지 번호를 붙였다. 칸마다 보석이 0개 이상 100개 이하로 묻혀 있다.

어느 날 선홍이는 화단에 보석이 묻혀 있을지도 모른다는 소문을 듣고 금속 탐지기로 확인하기로 했다. 이 탐지기는 두 수 ssee를 지정하면 ss번 칸부터 ee번 칸까지 훑어서 그 구간에 묻힌 보석의 총 개수를 알려준다.

선홍이는 탐지기로 화단을 MM번 조사하고 결과를 모두 적어 두었다. 그런데 지나가던 영민이가 장난으로 기록을 고쳐 각 결과의 일의 자리 숫자만 남겨 놓았다. 선홍이는 영민이에게 이 기록만으로 각 칸의 보석 개수를 알아내라고 시켰다. 영민이를 대신해 기록과 어긋나지 않는 보석 개수를 구하자.

입력

첫째 줄에 화단 칸의 개수 NN과 탐지 횟수 MM이 공백을 사이에 두고 주어진다. (1N1051 \le N \le 10^5, 1M1051 \le M \le 10^5)

둘째 줄부터 MM개의 줄에 각각 sis_i, eie_i, cic_i가 공백을 사이에 두고 주어진다. ii번째 탐지에서 [si,ei][s_i, e_i] 구간을 훑었고, 그 구간에 묻힌 보석 개수의 일의 자리 숫자가 cic_i였다는 뜻이다. (1sieiN1 \le s_i \le e_i \le N, 0ci90 \le c_i \le 9)

출력

1번 칸부터 NN번 칸까지 각 칸의 보석 개수를 공백으로 구분해 한 줄에 출력한다. 각 값은 0 이상 100 이하의 정수여야 하고, MM번의 탐지 결과와 모두 맞아야 한다.

조건을 만족하는 배열이 여러 개면 사전순으로 가장 앞서는 배열 하나만 출력한다. 배열 aa가 배열 bb보다 사전순으로 앞선다는 것은 두 배열이 처음으로 달라지는 위치 ii에서 ai<bia_i < b_i라는 뜻이다.

기록에 모순이 있어 조건을 만족하는 배열이 하나도 없으면 -1만 출력한다.