벽
시간 제한3초메모리 제한256 MB
n개 열에 구간 하한 상향과 상한 하향 갱신을 k번 적용한 뒤 각 열의 최종 높이를 출력합니다.
- 난이도
어려움10점 중 8점
- 유형
- 세그먼트 트리
- 정답자
- 아직 제출이 없습니다
문제
지안지아는 같은 크기의 벽돌로 열 벽을 쌓습니다. 열 번호는 왼쪽부터 부터 까지입니다. 각 열의 높이는 그 열에 쌓인 벽돌 수입니다.
처음에는 모든 열의 높이가 0입니다. 이후 단계를 거치며 매 단계마다 연속 열 구간 와 높이 가 주어집니다.
- 더하기 (op=1): 구간 안에서 높이가 미만인 열만 벽돌을 더해 높이를 정확히 로 맞춥니다. 이미 장 이상이면 그 열은 바꾸지 않습니다.
- 빼기 (op=2): 구간 안에서 높이가 초과인 열만 벽돌을 빼서 높이를 정확히 로 맞춥니다. 이미 장 이하이면 그 열은 바꾸지 않습니다.
모든 단계가 끝난 뒤 각 열의 벽돌 수를 구하세요.
입력
첫째 줄: , .
다음 줄: op left right height
op=1더하기,op=2빼기left,right: 포함 구간 ()height: 목표 높이
출력
모든 단계 후 각 열의 벽돌 수를 왼쪽부터 한 줄에 하나씩 출력한다.