아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

습격자 초라기와 쿼리 (Easy)

시간 제한1초메모리 제한256 MB

요약
구역들이 원형으로 배치되어 있고, 특수부대는 인원 합이 W 이하인 한 구역 또는 인접한 두 구역을 담당한다. 각 갱신 후 모든 구역을 덮는 최소 부대 수를 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 그리디, 세그먼트 트리, 행렬
정답자
아직 제출이 없습니다

문제

초라기는 한국의 비밀 국방 기지 원타곤을 습격하는 임무를 받은 특급 요원이다. 원타곤은 도넛 형태이며, 아래와 같이 N개의 구역으로 나뉜다. (그림의 숫자는 각 구역의 번호이다.)

초라기는 특수 소대들을 출동시켜 모든 구역을 점령하고 적들을 포로로 사로잡는 데 성공했다. 특수 소대는 아래 조건에 따라 원타곤의 각 구역에 배치되어 포로들을 관리한다.

  1. 한 특수 소대는 구역 하나 또는 서로 인접한 두 구역에 배치할 수 있다. (같은 경계를 공유하고 있으면 인접하다고 한다. 위 그림에서 구역 1은 구역 2, 구역 N과 서로 인접한 상태이다.)
  2. 한 특수 소대가 관리하는 포로의 수는 W보다 작거나 같아야 한다.

각 구역에 포로들이 몇 명씩 있는지는 초라기가 모두 파악하고 있다. 그런데 다른 곳으로 이송되는 포로도 있고 증원군으로 왔다 잡혀서 새로 포로가 되는 적들도 있다보니 계속 각 구역의 포로 수가 바뀌어 초라기가 더 이상 관리 불가능한 수준에 이르고 말았다. 초라기가 가진 특수 소대는 많지 않기 때문에, 초라기는 특수 소대를 최소한으로 배치하고 싶다. Q번에 걸쳐 한 번에 한 구역의 포로 수가 바뀔 때, 초라기를 위해 필요한 특수 소대 수의 최솟값을 실시간으로 구해주자.

입력

첫째 줄에는 정수 N, Q, W가 공백으로 구분되어 주어진다. (2 ≤ N ≤ 250 000, 1 ≤ Q ≤ 250 000, 1 ≤ W ≤ 100 000)

둘째 줄에는 점령 직후 구역 1 – N에 존재하는 포로의 수가 공백으로 구분되어 주어진다. 각 구역의 포로의 수는 0보다 크거나 같고 W보다 작거나 같다.

그 다음 Q줄에는 각 줄마다 정수 a, b가 공백으로 구분되어 주어진다. (1 ≤ a ≤ N, 0 ≤ b ≤ W) 이는 구역 a에 존재하는 포로의 수가 b명으로 변경되었다는 것을 의미한다.

출력

첫째 줄에는 점령 직후 필요한 특수 소대 수의 최솟값을 출력한다.

그 다음 Q줄에는 각 줄마다 포로 수가 변경되고 나서 필요한 특수 소대 수의 최솟값을 출력한다.

예제2

  1. 예제 1

    입력
    3 3 1
    0 0 0
    1 1
    2 1
    3 1
    
    예상 출력
    2
    2
    2
    3
  2. 예제 2

    입력
    8 10 100
    58 40 47 90 45 52 80 40
    8 13
    2 64
    1 8
    6 91
    7 38
    5 0
    3 51
    4 26
    1 77
    2 19
    
    예상 출력
    5
    5
    6
    5
    6
    6
    5
    5
    4
    5
    4