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