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

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

Aquapark

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

요약
각 안전요원 위치에서 맨해튼 거리 l_i 안에 있는 풀의 아이들 수를 합합니다.
난이도

보통10점 중 6점

유형
누적 합, 행렬
정답자
아직 제출이 없습니다

문제

한 워터파크는 한 변의 길이가 nn인 정사각형 모양이며, 한 변이 11인 단위 칸 n2n^2개로 나뉘어 있습니다. 각 칸은 수영장이거나 통로입니다. 수영장 칸에는 양의 정수만큼의 아이가 놀고 있고, 통로 칸에는 아이가 없습니다.

워터파크에는 rr명의 안전요원이 배치되어 있습니다. 안전 규정상 안전요원은 벽과 나란한 방향으로만 이동할 수 있으므로, 두 칸 (x1,y1)(x_1, y_1)과 (x2,y2)(x_2, y_2) 사이를 이동하는 거리는 항상 맨해튼 거리 ∣x1−x2∣+∣y1−y2∣|x_1 - x_2| + |y_1 - y_2|입니다. ii번째 안전요원은 자신의 위치로부터 거리가 lil_i 이하인 모든 수영장을 담당합니다.

한 안전요원의 업무량은 자신이 담당하는 모든 수영장에 있는 아이 수의 합입니다. 모든 안전요원의 업무량을 구하세요.

입력

첫째 줄에 두 정수 nn과 rr이 공백으로 구분되어 주어집니다 (1≤n≤10001 \le n \le 1000, 1≤r≤n21 \le r \le n^2). 각각 워터파크의 한 변의 길이와 안전요원의 수를 뜻합니다.

이어지는 nn개의 줄에는 워터파크의 지도가 주어집니다. ii번째 줄에는 ii번째 행을 나타내는 nn개의 음이 아닌 정수 ai,1,ai,2,…,ai,na_{i,1}, a_{i,2}, \dots, a_{i,n} (0≤ai,j≤1060 \le a_{i,j} \le 10^6)이 공백으로 구분되어 주어집니다. ai,j=0a_{i,j} = 0이면 칸 (i,j)(i, j)는 통로이고, 양수이면 아이 ai,ja_{i,j}명이 있는 수영장입니다.

이어지는 rr개의 줄에는 각 안전요원의 정보가 세 정수 xix_i, yiy_i, lil_i (1≤xi,yi≤n1 \le x_i, y_i \le n, 1≤li≤n1 \le l_i \le n)로 주어집니다. 각각 ii번째 안전요원이 있는 칸의 행과 열, 그리고 담당하는 수영장까지의 최대 거리를 뜻합니다.

출력

정확히 rr개의 줄을 출력합니다. ii번째 줄에는 ii번째 안전요원이 담당하는 아이의 수를 나타내는 정수 pip_i 하나를 출력합니다.

힌트

예제5

  1. 예제 1

    입력
    5 2
    6 3 0 0 9
    7 1 4 0 5
    0 5 0 0 2
    0 0 0 8 0
    1 2 0 0 0
    2 2 1
    4 5 2
    
    예상 출력
    20
    15
    
  2. 예제 2

    입력
    1 1
    7
    1 1 1
    
    예상 출력
    7
    
  3. 예제 3

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

    입력
    4 4
    1 2 3 4
    5 6 7 8
    9 10 11 12
    13 14 15 16
    2 2 1
    2 2 2
    2 3 1
    1 1 4
    
    예상 출력
    30
    76
    35
    93
    
  5. 예제 5

    입력
    3 4
    1 0 2
    0 3 0
    4 0 5
    1 1 1
    1 1 3
    3 3 3
    2 2 3
    
    예상 출력
    1
    10
    14
    15