건초 더미 세기

시간 제한2초메모리 제한512 MB

요약
N개 밭의 구간에 값을 더하고 구간 최솟값과 구간 합을 묻는 Q개 연산을 처리합니다.
난이도

보통10점 중 4점

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

문제

농부 존은 농장을 정리할 인부를 구하려 했지만, 존이 쓴 복잡한 작업 지시서를 본 사람은 모두 그만두었다. 결국 혼자 일을 마치게 된 존은 지시서를 필요 이상으로 복잡하게 썼다고 인정했다. 존이 지시서대로 농장 정비를 끝내도록 도와주자.

농장은 한 줄로 늘어선 밭 NN개로 이루어지고, 각 밭에는 11번부터 NN번까지 번호가 붙어 있다. 한 밭에는 건초 더미를 몇 개든 놓을 수 있다. 지시서의 항목은 세 종류다.

  1. 연속한 구간에 속한 모든 밭에 같은 개수의 건초 더미를 새로 놓는다.
  2. 연속한 구간에 속한 밭 중에서 건초 더미가 가장 적은 밭의 건초 더미 개수를 구한다.
  3. 연속한 구간에 속한 밭에 있는 건초 더미의 총 개수를 구한다.

입력

첫째 줄에 양의 정수 NN (1≤N≤200 0001 \le N \le 200\,000)과 QQ (1≤Q≤100 0001 \le Q \le 100\,000)가 주어진다.

둘째 줄에 각 밭에 처음 놓여 있는 건초 더미의 개수를 나타내는 음이 아닌 정수 NN개가 주어진다. 각 값은 100 000100\,000 이하다.

다음 QQ개의 줄에는 각각 대문자 M, P, S 중 한 글자가 주어지고, 그 뒤에 양의 정수 AA, BB (1≤A≤B≤N1 \le A \le B \le N)가 오거나 양의 정수 AA, BB, CC (1≤A≤B≤N1 \le A \le B \le N, 1≤C≤100 0001 \le C \le 100\,000)가 온다. 정수가 세 개인 경우는 대문자가 P인 경우뿐이고, 그 반대도 성립한다.

M은 AA번 밭부터 BB번 밭까지에서 건초 더미가 가장 적은 밭의 건초 더미 개수를 묻는다.

P는 AA번 밭부터 BB번 밭까지의 모든 밭에 건초 더미를 CC개씩 더 놓는다.

S는 AA번 밭부터 BB번 밭까지에 있는 건초 더미의 총 개수를 묻는다.

출력

지시서의 M 항목과 S 항목마다 답을 한 줄씩, 입력에 주어진 순서대로 출력한다.

예제2

  1. 예제 1

    입력
    4 5
    3 1 2 4
    M 3 4
    S 1 3
    P 2 3 1
    M 3 4
    S 1 3
    
    예상 출력
    2
    6
    3
    8
    
  2. 예제 2

    입력
    1 5
    0
    M 1 1
    S 1 1
    P 1 1 100000
    M 1 1
    S 1 1
    
    예상 출력
    0
    0
    100000
    100000