#242
책꽂이 정리
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%
문제
민준이는 동아리방의 책꽂이를 정리하려고 한다. 동아리방에는 번부터 번까지 번호가 매겨진 개의 칸이 있는 책꽂이가 나란히 놓여 있다. 각 칸에는 여러 권의 책이 꽂혀 있을 수 있다.
민준이는 효율적인 정리를 위해 다음 세 종류의 작업을 수행하려 한다.
- 구간 가 주어지면, 번 칸부터 번 칸까지의 모든 칸에 책을 권씩 더 넣는다.
- 구간 가 주어지면, 해당 구간의 칸들에 꽂힌 책의 개수 중 최솟값을 구한다.
- 구간 가 주어지면, 해당 구간의 모든 칸에 꽂힌 책의 총 개수를 구한다.
민준이를 도와 책꽂이의 상태를 관리하고 각 쿼리에 대한 결과를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 책꽂이의 칸 수 과 작업의 개수 가 공백으로 구분되어 주어진다. (; )
둘째 줄에 개의 음이 아닌 정수가 공백으로 구분되어 주어진다. 이는 각 칸에 처음에 꽂혀 있는 책의 개수를 나타내며, 각 값은 이하이다.
다음 개의 줄에는 각 작업의 정보가 한 줄에 하나씩 주어진다. 각 줄은 대문자 M, P, S 중 하나로 시작한다.
- 문자가
M인 경우, 뒤이어 두 정수 와 가 공백으로 구분되어 주어진다. () 이는 구간 의 최솟값을 구하라는 의미이다. - 문자가
P인 경우, 뒤이어 세 정수 , , 가 공백으로 구분되어 주어진다. (; ) 이는 구간 의 모든 칸에 책 권을 더하라는 의미이다. - 문자가
S인 경우, 뒤이어 두 정수 와 가 공백으로 구분되어 주어진다. () 이는 구간 의 합을 구하라는 의미이다.
출력
M 또는 S 작업이 주어질 때마다 해당 작업의 결과를 한 줄에 하나씩 출력한다.
예제 입력 1
4 5
3 1 2 4
M 3 4
S 1 3
P 2 3 1
M 3 4
S 1 3
예제 출력 1
2
6
3
8
코드 제출
코드를 제출하려면 로그인이 필요합니다.
로그인내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.