아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

은하계 화음

시간 제한1초메모리 제한1024 MB

요약
0에서 8까지의 음이 적힌 N개의 건반 배열에서 각 코드 [a,b]마다 구간 내 최빈 음(동률이면 가장 큰 음)을 찾아 구간의 모든 음에 그 값을 9로 나눈 나머지로 더한 뒤, 모든 코드를 처리한 후의 건반 상태를 출력한다.
난이도

어려움10점 중 8점

유형
세그먼트 트리, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

은하계 피아노 소나타 작곡 대회는 지능이 뛰어난 존재가 점점 더 많이 참가하면서 경연 난도를 계속 올리고 있다.

은하계 피아노에는 건반이 NN개 있고, 번호는 00번부터 N−1N-1번까지다. 은하계 음 체계의 음은 00부터 88까지 아홉 개다. 처음에는 모든 건반이 음 11에 대응한다.

참가자는 화음을 순서대로 연주한다. 화음 하나는 서로 다른 두 건반 aa와 bb로 이루어지고, 0≤a<b<N0 \le a < b < N을 만족한다. 화음을 연주하면 피아노는 구간 [a,b][a, b]에 속한 건반의 음 가운데 가장 많이 나타나는 음 ff를 낸다. 가장 많이 나타나는 음이 둘 이상이면 그중 가장 큰 음을 낸다. 음을 낸 직후 피아노는 구간 [a,b][a, b]에 속한 모든 건반의 음을 바꾼다. a≤k≤ba \le k \le b인 건반 kk의 새 음은 직전의 음에 ff를 더한 값을 99로 나눈 나머지다.

예를 들어 건반이 N=15N = 15개인 피아노의 음이 어느 순간 다음과 같다고 하자.

건반01234567891011121314
음221454348016201

여기서 화음 [3,9][3, 9]를 연주하면 가장 많이 나타나는 음은 44이고, 연주한 뒤의 음은 다음과 같다.

건반01234567891011121314
음221808783416201

화음 QQ개가 순서대로 주어진다. 화음을 모두 연주한 뒤 각 건반에 대응하는 음을 출력하는 프로그램을 작성하라.

입력

첫째 줄에 건반의 개수 NN과 화음의 개수 QQ가 공백으로 구분되어 주어진다. (2≤N≤1000002 \le N \le 100000, 1≤Q≤1000001 \le Q \le 100000)

다음 QQ개 줄에는 각각 화음 하나를 나타내는 두 정수 AA와 BB가 주어진다. (0≤A<B<N0 \le A < B < N) 화음은 주어진 순서대로 연주된다.

출력

화음을 모두 연주한 뒤 건반 00번부터 N−1N-1번까지의 음을 한 줄에 하나씩 NN개 출력한다.

예제2

  1. 예제 1

    입력
    5 3
    1 2
    0 4
    0 2
    
    예상 출력
    5
    6
    6
    2
    2
    
  2. 예제 2

    입력
    15 15
    10 12
    4 5
    1 14
    6 10
    9 11
    11 12
    9 13
    8 9
    5 7
    11 13
    8 10
    11 12
    11 13
    8 14
    3 9
    
    예상 출력
    1
    2
    2
    1
    2
    6
    7
    7
    8
    6
    4
    4
    8
    0
    4