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

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

프리미어 리그

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

요약
각 포켓몬을 앤디나 조던에게 배정하고, 소유자가 다른 포켓몬 사이의 배틀 비용을 더한 총비용의 최솟값을 구한다.
난이도

보통10점 중 7점

유형
그래프, 최소 신장 트리, 그리디, 유니온 파인드
정답자
아직 제출이 없습니다

문제

Andrew와 Jordan은 열렬한 포켓몬 팬이고, 주변에도 포켓몬을 좋아하는 친구가 많다. 그런데 둘 다 승부욕이 대단하다. 이 승부욕을 풀어 줄 겸 작은 프리미어 드래프트 토너먼트인 프리미어 리그를 열려고 한다. Andy와 Jordan은 당신의 목록에 있는 각 포켓몬을 빌리겠다고 입찰했고, 빌린 포켓몬으로 연속된 대결을 치를 것이다. 대결이 공정하도록, 두 팬이 입찰하기 전에 대결 일정을 정해 두었다. 같은 트레이너가 소유한 두 포켓몬끼리의 대결은 어느 쪽이 이겨도 그 트레이너의 승리이므로 치르지 않는다.

토너먼트 주최자로서 당신은 누가 이기는지는 관심이 없다. 대신 이 토너먼트를 여는 데 드는 비용에는 관심이 있다. 다행히 대결을 치를 수 있는 체육관이 있지만, 체육관은 준비와 대결 후 회복을 위해 대결 요금을 받는다. 게다가 포켓몬을 하나하나 확보하는 데도 적지 않은 돈이 든다. Andy와 Jordan은 둘 다 포켓몬을 최대한 많이 원하지만, 포켓몬마다 지불할 의사가 있는 가격은 서로 다를 수 있다.

이제 입찰이 끝났으니, 각 포켓몬의 입찰에서 누가 이기는지 정해야 한다. 대결 일정, 각 포켓몬을 확보하는 데 드는 당신의 비용, 각 포켓몬에 대해 Andy와 Jordan이 지불할 의사가 있는 금액, 대결 비용이 주어질 때, 이 화려한 대결을 준비하는 데 드는 최소 총비용을 구하라. 모든 포켓몬은 Andy나 Jordan 중 한 명에게 배정되어야 한다.

입력

첫째 줄에는 구매할 수 있는 포켓몬의 수 1≤n≤1021 \le n \le 10^2가 주어진다. 다음 nn개 줄에는 각각 1≤c_i,a_i,j_i≤1051 \le c\_i, a\_i, j\_i \le 10^5이고 a_i,j_i≤c_ia\_i, j\_i \le c\_i인 정수 33개가 주어지는데, 차례대로 ii번째 포켓몬을 확보하는 데 드는 당신의 비용, ii번째 포켓몬에 대한 Andy의 입찰가, ii번째 포켓몬에 대한 Jordan의 입찰가이다.

다음 줄에는 치를 대결의 수 1≤b≤5⋅1021 \le b \le 5 \cdot 10^2가 주어진다. 그다음 bb개 줄에는 각각 정수 33개 1≤a_j,b_j≤n1 \le a\_j, b\_j \le n, 1≤c_j≤1051 \le c\_j \le 10^5가 주어지는데, jj번째 대결이 포켓몬 a_ja\_j와 b_jb\_j 사이에서 열리고 그 대결을 치르면 c_jc\_j가 든다는 뜻이다. 같은 포켓몬 쌍 사이의 대결이 여러 번 주어질 수도 있다.

출력

이 토너먼트를 운영하는 데 드는 최소 총비용을 한 수로 출력한다. 포켓몬이 비쌀 수 있지만, Andy와 Jordan의 입찰가로 비용을 상쇄할 수 있다.

예제1

  1. 예제 1

    입력
    4
    300 200 100
    300 250 150
    300 100 200
    300 100 260
    3
    1 2 500
    3 4 500
    2 3 5
    
    예상 출력
    295