일기예보
시간 제한2초메모리 제한128 MB
N개 지역의 적설량을 포인트 증가와 감소로 갱신하면서, [L, R] 구간에 들어오는 값의 개수와 T번째로 큰 값을 온라인으로 답한다.
문제
눈꽃 나라에는 하루 종일 눈이 내린다. 내린 눈은 계속 쌓이고, 또 녹는다.
눈꽃 나라의 기상 캐스터 택희는 눈 이야기만 한다. 지진이 나도 태풍이 와도 예보 형식은 늘 같다.
현재 적설량이 mm 이상 mm 이하인 지역은 A, B, C, ..., X 이상 개 지역입니다.
행정구역이 개편되면서 지역 수가 개로 늘어나자 개 지역을 하나씩 읽는 일이 버거워졌다. 그래서 택희는 적설량이 mm 이상 mm 이하인 지역의 수 만 세기로 했다. 그것만으로는 개별 지역 사정을 전혀 알 수 없으니, 눈이 번째로 많이 쌓인 지역의 적설량도 함께 말하기로 했다. 지역이 워낙 많아 손으로 계산하기는 어렵다. 택희는 적설량을 자동으로 관리하는 프로그램을 만들려고 한다.
프로그램은 네 가지 작업을 처리한다.
- 지역 에 눈이 mm 쌓인다.
- 지역 의 눈이 mm 녹는다.
- 적설량이 mm 이상 mm 이하인 지역의 수를 센다.
- 적설량이 번째로 많은 지역의 적설량을 구한다.
4번 작업에서 같은 값은 중복해서 모두 센다. 예를 들어 다섯 지역의 적설량이 이면 가 1, 2, 3, 4, 5일 때 답은 차례로 3, 2, 2, 1, 1이다.
예보는 빨라야 하므로 프로그램도 빨라야 한다. 택희를 대신해 프로그램을 작성하라.
입력
첫째 줄에 지역 수 과 명령의 수 이 주어진다. ()
둘째 줄에 각 지역에 현재 쌓인 눈의 양 이 주어진다. ()
셋째 줄부터 개의 줄에 명령이 한 줄에 하나씩 주어진다. 형식은 다음 네 가지 중 하나다.
1 i x: 번 지역에 눈이 mm 쌓인다. (, )2 i y: 번 지역의 눈이 mm 녹는다. (, )3 L R: 적설량이 mm 이상 mm 이하인 지역의 수를 센다. ()4 T: 적설량이 번째로 많은 지역의 적설량을 구한다. ()
2번 명령으로 어떤 지역의 적설량이 음수가 되는 경우는 없다.
출력
3번 명령과 4번 명령이 주어질 때마다 그 답을 한 줄에 정수 하나씩 출력한다.