여행사 운영하기

아직 제출이 없습니다시간 제한4초메모리 제한1024 MB

문제

당신은 성공적으로 여행사를 운영 중인 CEO다. 새로운 나라에서 여행사를 전개하고자 하는데 이를 위해서 첫 거점 도시를 정해야 한다.

새로운 나라는 ​NN개의 도시가 존재하고 도시 간에 양방향으로 통행 가능한 N1N-1​개의 도로가 존재한다. 어떠한 도시에서 출발해도 도로를 따라 다른 도시로 도착하는 것이 가능하다.

도시는 각각 해당 도시의 즐거움을 나타내는 수 c_ic\_i가 있다. 이 수가 클수록 즐거운 도시다.

이 나라에는 이상한 제한이 있는데 ii​번 도시에서 출발하는 관광버스는 ​iii번 도시에서만 탑승할 수 있으며 ii​번 도시로부터 최대 d_id\_i​만큼 떨어진 도시로만 이동할 수 있다.

ii​번 도시에서 출발하는 관광버스는 해당 도시에 있기만 하면 언제든지 탈 수 있기 때문에 거점으로 삼은 도시에서 출발하는 관광버스에 손님을 태우고 다른 도시로 가서 그 도시의 관광 버스에 손님들을 태우면 더 멀리 갈 수 있다.

이렇게 버스를 갈아타는 것을 여러번 반복하면 거점 도시에서 출발하는 버스만 이용하는 것보다 훨씬 더 많은 도시에 갈 수 있다.

거점 도시를 정하는 데에 있어서 중요한 것은 거점 도시에서 도달 가능한 도시들의 ​즐거움의 최대값과 최소값의 차이이다.

도시와 도로의 정보가 주어졌을 때 모든 도시에 대해 각 도시를 거점도시로 지정했을 때 도달 가능한 도시들의 즐거움의 최대값과 최소값의 차이를 구하자.

입력

첫 번째 줄에는 도시의 수 NN이 주어진다. (1N8,0001 \le N \le 8\\,000)

두 번째 줄에는 ii번째 도시의 즐거움 c_ic\_i가 공백으로 구분되어 NN개 주어진다. (0c_i10180 \le c\_i \le 10^{18})

세 번째 줄에는 ii번째 도시에서 출발한 관광버스가 갈 수 있는 거리 d_id\_i가 공백으로 구분되어 NN개 주어진다. (0d_i10180 \le d\_i \le 10^{18})

네 번째 줄부터 N1N-1줄에 걸쳐 ii번째 도로의 정보 u_iu\_i, v_iv\_i, w_iw\_i가 공백으로 구분되어 주어진다.

도시 u_iu\_i와 도시 v_iv\_i를 잇는 도로의 길이가 w_iw\_i라는 뜻이다. (1u_i,v_iN1 \le u\_i, v\_i \le N, u_iv_iu\_i \neq v\_i, 1w_i1091 \le w\_i \le 10^9)

주어지는 모든 수는 정수이다.

출력

ii​번째 줄에는 ​ii번 도시에서 도달 가능한 도시들의 즐거움의 최대값과 최소값의 차이를 총 ​NN줄에 걸쳐 출력한다.