각 질의 (a, b)마다 트랙터로 거리만큼 시간이 걸리는 이동과, x에서 y로 t만큼에 날아가는 슬링샷을 최대 한 번 써서 a에서 b로 가는 최소 시간을 구한다.
어려움8분할 정복정렬누적 합그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB농부 존이 농장 일 가운데 가장 싫어하는 것은 거름을 잔뜩 실어 나르는 일이다. 이 일을 줄이려고 존은 별난 방법을 떠올렸다. 트랙터에 수레를 달아 두 지점 사이로 거름을 옮기는 대신, 거대한 거름 새총으로 공중에 쏘아 보내는 것이다. (무엇이 잘못될 수 있겠는가)
존의 농장은 곧게 뻗은 길 하나를 따라 놓여 있다. 그래서 농장의 모든 위치를 그 길 위의 좌표 하나로, 즉 수직선 위의 점으로 나타낸다. 존은 새총 N개를 세웠다 (1≤N≤105). i번 새총은 세 정수 xi, yi, ti로 주어지며, 위치 xi에 있는 거름을 단 ti의 시간에 위치 yi로 쏘아 보낸다.
옮겨야 할 거름 더미는 M개다 (1≤M≤105). j번 더미는 위치 aj에서 위치 bj로 옮겨야 한다. 트랙터로 거름을 거리 d만큼 나르면 d의 시간이 걸린다. 존은 더미 하나마다 새총을 최대 한 번까지 쓸 수 있게 해서 이 시간을 줄이려고 한다. 거름을 싣지 않은 채 트랙터만 움직이는 시간은 세지 않는다.
거름 더미 M개 각각에 대해, 새총을 최대 한 번 쓸 수 있을 때의 최소 운반 시간을 구하라.
첫째 줄에 N과 M이 주어진다. 다음 N개의 줄에는 새총 하나를 나타내는 세 정수 xi, yi, ti가 주어진다 (0≤xi,yi,ti≤109). 마지막 M개의 줄에는 옮겨야 할 거름 더미를 나타내는 두 정수 aj와 bj가 주어진다.
거름 더미마다 한 줄씩, 모두 M개의 줄에 최소 운반 시간을 출력한다.
예제에서 첫 번째 거름 더미는 위치 1에서 위치 12로 옮겨야 한다. 새총을 쓰지 않으면 11의 시간이 걸린다. 첫 번째 새총을 쓰면 새총의 출발 지점인 위치 0까지 옮기는 데 1, 거름을 공중으로 날려 새총의 도착 지점인 위치 10에 떨어뜨리는 데 1, 거기서 위치 12까지 옮기는 데 2가 들어 모두 4다. 두 번째 더미는 새총을 쓰지 않는 편이 가장 빠르고, 세 번째 더미는 두 번째 새총을 쓰는 편이 가장 빠르다.