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

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

우주 광부

면접 대비

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

요약
주어진 순서의 3차원 경유점을 직선으로 이동하면서, 각 행성의 중심에서 ri+D 이내로 지나가는 구간이 하나라도 있으면 그 행성을 채굴할 수 있다. 채굴 가능한 행성의 자원 합을 구한다.
난이도

보통10점 중 6점

유형
기하, 구현, 수학, 시뮬레이션
정답자
아직 제출이 없습니다

문제

MM개의 행성이 있습니다 (1≤M≤1,0001 \le M \le 1{,}000). 각 행성 ii는 자원 viv_i (1≤vi≤10,0001 \le v_i \le 10{,}000)와 반지름 rir_i (1≤ri≤1001 \le r_i \le 100)를 가집니다.

당신은 원점 (0,0,0)(0, 0, 0)에서 출발하여, 주어진 순서대로 NN개 (1≤N≤1,0001 \le N \le 1{,}000)의 경유지를 직선으로 이어 가며 이동합니다.

이동 중 어느 한 순간이라도 어떤 행성의 중심까지의 거리가 D+riD + r_i (1≤D≤501 \le D \le 50) 이하가 되면, 견인 빔으로 그 행성을 채굴하여 자원 viv_i를 얻을 수 있습니다. 행성 표면으로부터 정확히 DD만큼 떨어진 지점(즉 중심으로부터 거리가 정확히 ri+Dr_i + D인 지점)에서도 채굴할 수 있습니다. 경로가 행성 내부를 관통하더라도 우주선이 행성을 뚫고 지나갈 수 있으므로 문제가 되지 않으며, 오히려 채굴이 더 쉬워집니다. 단, 한 번 채굴한 행성은 이후에 다시 지나가더라도 다시 채굴할 수 없습니다.

여행 동안 채굴할 수 있는 자원의 총량을 구하세요.

힌트: 모든 계산은 64비트 정수로 수행하는 것이 좋습니다.

입력

첫째 줄에 행성의 수 MM이 주어집니다. 다음 MM개의 줄에는 각 행성을 나타내는 다섯 개의 정수 xi yi zi vi rix_i\ y_i\ z_i\ v_i\ r_i가 주어집니다. 행성 ii는 위치 (xi,yi,zi)(x_i, y_i, z_i) (−1,000≤xi,yi,zi≤1,000-1{,}000 \le x_i, y_i, z_i \le 1{,}000)에 있으며 자원 viv_i와 반지름 rir_i를 가집니다. 그다음 줄에는 지나갈 경유지의 수 NN이 주어집니다. 이어지는 NN개의 줄에는 각 경유지의 위치가 세 정수 xi yi zix_i\ y_i\ z_i (−1,000≤xi,yi,zi≤1,000-1{,}000 \le x_i, y_i, z_i \le 1{,}000)로 주어집니다. 마지막 줄에는 행성 표면으로부터 채굴이 가능한 최대 거리 DD가 주어집니다.

출력

여행 동안 채굴할 수 있는 자원의 총량을 한 줄에 출력합니다.

예제4

  1. 예제 1

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

    입력
    1
    0 0 0 100 1
    1
    5 0 0
    1
    
    예상 출력
    100
    
  3. 예제 3

    입력
    1
    5 0 0 9 2
    1
    10 0 0
    1
    
    예상 출력
    9
    
  4. 예제 4

    입력
    1
    5 3 0 7 1
    1
    10 0 0
    2
    
    예상 출력
    7