프로그램 명: fracnetwork
제한시간: 1 초

N개의 도시 간에 통신망을 설치하려고 합니다.

우선 설치할 수 있는 통신망들의 목록을 추려놓았고, 그 개수는 M개입니다. 각 통신망은 두 도시간의 통신을 가능하게 하며, 쓸데없이 통신망을 설치하는 경우를 없애기 위해서 통신망이 N개 도시의 신장트리가 되도록 설치하려고 합니다.

신장트리라는 말은, N개의 도시에 대해 임의의 두 도시를 고르면, 두 도시가 다른 도시를 통해 서로 통신할 수 있으며, 통신을 하기 위해 거쳐야 하는 도시의 경로가 하나 뿐인, 즉 트리의 형태를 이루고 있어야 한다는 말입니다.

그러나 각 통신망은 효용성도 다르고, 유지비도 다릅니다. 신장 트리를 만들게 되면 통신망을 N-1개 만들어야 하는데, 이때 각 통신망의 효용성을 g_i, 유지비를 c_i라고 했을 때,

을 최대화하여 신장 트리를 만드는 프로그램을 작성하세요.

입력

입력의

출력

출력은 한 줄로 이루어져있으며, 첫 번째 줄에 요구하는 값의 최댓값을 소수점 이하 여섯째 자리에서 반올림하여 출력한다.

입출력 예

입력

3 3
0 1 8 5
1 2 4 4
2 0 7 3

출력

1.87500

예제 설명

출처:august14

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]