만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

삼각형 모음

시간 제한4초메모리 제한1024 MB

요약
막대 개수가 바뀔 때마다 남은 막대로 만들 수 있는 이등변삼각형의 최대 개수를 구합니다.
난이도

어려움10점 중 8점

유형
그리디, 세그먼트 트리, 이분 탐색
정답자
아직 제출이 없습니다

문제

처음에 앨리스는 각 ℓ=1,…,N\ell = 1, \ldots, N에 대해 길이가 ℓ\ell인 막대기를 cℓc_{\ell}개 가지고 있다.

앨리스는 이 막대기들로 이등변삼각형을 만들려고 한다. 이등변삼각형은 길이가 ℓ\ell로 같은 막대기 두 개와, 길이가 1 이상 2ℓ−12\ell - 1 이하인 막대기 하나로 이루어진다. 삼각형은 삼각형 부등식을 엄격히 만족해야 하며, 정삼각형도 허용된다. 각 막대기는 최대 한 개의 삼각형에만 쓸 수 있다. 앨리스가 만들 수 있는 이등변삼각형의 최대 개수를 구한다.

막대기 모음을 바꾸는 사건이 QQ개 주어진다. ii번째 사건은 정수 ℓi\ell_i와 did_i로 이루어지며, 길이가 ℓi\ell_i인 막대기의 개수가 did_i만큼 변한다는 뜻이다. did_i는 양수, 음수, 0일 수 있으나, 앨리스가 가진 막대기 개수가 음수가 되거나 어느 길이에서든 10910^9개를 넘는 일은 없다.

각 사건 후에, 앨리스가 막대기를 최적으로 사용했을 때 만들 수 있는 이등변삼각형의 최대 개수를 구한다.

입력

첫 줄에 정수 NN과 QQ가 주어진다.

둘째 줄에 정수 c1,c2,…,cNc_1, c_2, \ldots, c_N (0≤ci≤1090 \le c_i \le 10^9)이 주어진다.

이어지는 QQ개의 줄에는 각각 정수 ℓi\ell_i와 did_i (1≤ℓi≤N1 \le \ell_i \le N, −109≤di≤109-10^9 \le d_i \le 10^9)가 주어진다.

출력

QQ개의 줄을 출력한다. 각 줄에는 해당 사건 후의 답을 정수 하나로 쓴다.

제한

1≤N,Q≤200,0001 \le N, Q \le 200{,}000

초기 상태와 각 사건 후에, 모든 ℓ\ell에 대해 길이가 ℓ\ell인 막대기의 개수는 0 이상 10910^9 이하이다.

예제1

  1. 예제 1

    입력
    4 3
    3 1 4 1
    3 -3
    1 6
    2 1
    
    예상 출력
    1
    3
    4