#102
Do Use Segment Tree Beats
채점 준비중
시간 제한
4000ms
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
길이가 N인 수열 a_1, a_2, \cdots , a_N이 주어질 때, 다음 쿼리를 처리하는 프로그램을 작성해 보자.
1 l r x:l ≤ i ≤ r인a_i에 대해a_i = a_i + x를 적용한다.2 l r y:l ≤ i ≤ r인a_i에 대해 ~a_i = \max(a_i, y)~를 적용한다.3 l r y:l ≤ i ≤ r인a_i에 대해 ~a_i = \min(a_i, y)~를 적용한다.4 l r:a_l + a_{l+1} + \cdots + a_r를 출력한다.
입력
첫째 줄에 수열의 크기 N과 쿼리의 개수 Q가 주어진다. (1 ≤ N,Q ≤ 500,000)
둘째 줄에는 a_1, a_2, \cdots ,a_N이 주어진다. (-10^9 ≤ a_i ≤ 10^9)
셋째 줄부터 Q개의 줄에 걸쳐 쿼리가 한 줄에 하나씩 주어진다. 각 쿼리는 1\ l\ r\ x 또는 2\ l\ r\ y, 3\ l\ r\ y, 4\ l\ r이다. (1 ≤ l ≤ r ≤ N, -1,000 ≤ x ≤ 1,000, -10^9 ≤ y ≤ 10^9)
4번 쿼리는 한 번 이상 주어진다.
출력
4번 쿼리의 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
5 9
10 20 30 40 50
4 1 5
1 1 3 5
2 2 4 27
3 3 5 35
4 1 5
1 1 4 -2
2 2 5 40
3 1 5 30
4 1 5
예제 출력 1
150
147
133
코드 제출
로딩 중...
내 제출
아직 제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
전체 제출
아직 제출이 없습니다.