만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

조용히 완전히 영원히

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

요약
구간마다 최솟값 갱신을 순서대로 적용해 최종 배열을 구하고, 각 갱신 뒤에 이후 갱신으로 더 이상 바뀌지 않는 원소 수를 셉니다.
난이도

보통10점 중 7점

유형
세그먼트 트리, 구현
정답자
아직 제출이 없습니다

문제

세종이는 다음 문제를 풀고 있다.

길이가 NN인 수열 A1,A2,⋯ ,ANA_1,A_2,\cdots,A_N이 주어진다. 이때 다음과 같은 업데이트가 총 QQ개 주어진다.

  • L R x: 모든 L≤i≤RL\leq i\leq R에 대해 Ai=min⁡(Ai,x)A_i=\min(A_i,x)를 적용한다. (1≤L≤R≤N1\leq L\leq R\leq N; 0≤x≤1 000 0000\leq x\leq 1\,000\,000)

QQ개의 업데이트를 차례대로 수행한 후의 수열을 구하시오.

세종이는 어떤 업데이트 이후로 더 이상 값이 변경되지 않는 원소가 생김을 발견했다. 감성적인 세종이는 이런 원소를 잊힌 원소라고 이름 짓고 이들의 개수를 기억하기로 했다. 구체적으로, 어떤 원소가 ii번째 업데이트를 처리한 후 남은 업데이트에 의해 값이 변경되지 않는다면 그 원소는 ii-잊힌 원소가 된다. 임의의 두 양의 정수 i<ji<j에 대해, 모든 ii-잊힌 원소는 jj-잊힌 원소이기도 하다는 점에 유의하라.

세종이가 구해야 하는 수열과 각 업데이트 후의 잊힌 원소의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 수열의 길이 NN이 주어진다. (1≤N≤100 0001\leq N\leq 100\,000)

둘째 줄에 NN개의 정수 A1,A2,⋯ ,ANA_1,A_2,\cdots,A_N이 공백으로 구분되어 주어진다. (0≤Ai≤1 000 0000\leq A_i\leq 1\,000\,000)

셋째 줄에 업데이트의 수 QQ가 주어진다. (1≤Q≤100 0001\leq Q\leq 100\,000)

넷째 줄부터 QQ개의 줄에 걸쳐 처리해야 하는 순서대로 업데이트가 한 줄에 하나씩 주어진다.

출력

첫째 줄에 업데이트를 모두 수행한 후의 수열을 공백으로 구분해 출력한다.

둘째 줄에 QQ개의 정수 D1,D2,⋯ ,DQD_1,D_2,\cdots,D_Q를 공백으로 구분해 출력한다. 이때 DiD_i는 ii-잊힌 원소의 개수다.

예제1

  1. 예제 1

    입력
    10
    10 5 6 9 2 4 7 1 8 3
    5
    1 2 8
    2 4 6
    5 9 4
    8 10 1
    3 6 7
    
    예상 출력
    8 5 6 6 2 4 4 1 1 1
    6 7 8 10 10