홍준이는 물리를 좋아해

연결된 유도 부분그래프 중에서 (정점 가중치 합)/(간선 가중치 합)을 최대로 하는 것을 찾아 그 밀도를 출력한다. 비율을 이분 탐색하고 최대 폐포 문제로 판정하는 분수 계획법 문제다.

어려움8그래프이분 탐색그리디아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

홍준이는 물리를 좋아하고, 밀도를 계산하는 것이 취미다.

학교에서 그래프 이론을 배운 홍준이는 그래프에서도 밀도를 정의해 보기로 했다. 정점과 간선에 가중치가 있는 무방향 그래프에서 정점 가중치의 합을 SumVSumV, 간선 가중치의 합을 SumESumE라고 하면 이 그래프의 밀도는 SumV/SumESumV / SumE다.

홍준이는 생일 선물로 명우에게서 정점과 간선에 가중치가 있는 무방향 그래프를 하나 받았다. 홍준이는 이 그래프의 유도 부분그래프 중에서 밀도가 가장 큰 것을 찾고 싶다.

그래프 G(V,E)G(V, E)의 유도 부분그래프 G(V,E)G'(V', E')는 다음 조건을 만족한다.

  1. VVV' \subseteq V
  2. 정점 uuvv를 잇는 간선이 EE'에 속하는 것은 uVu \in V'이고 vVv \in V'이며 그 간선이 EE에 속할 때, 그때뿐이다.
  3. GG'에서 정점과 간선의 가중치는 GG에서와 같다.
  4. GG'은 연결 그래프다.

간선이 하나도 없는 유도 부분그래프는 SumESumE00이어서 밀도를 정의할 수 없으므로 후보에서 제외한다.

홍준이를 도와 밀도가 최대인 유도 부분그래프의 밀도를 구하라.

입력

첫째 줄에 정점의 개수 nn과 간선의 개수 mm이 주어진다. (2n5002 \le n \le 500, 1mn(n1)/21 \le m \le n(n-1)/2)

둘째 줄에 ii번째 정점의 가중치를 나타내는 정수 nn개가 공백을 사이에 두고 주어진다. 정점의 가중치는 11 이상 10610^6 이하다.

이어지는 mm개의 줄에 간선의 정보가 세 정수 uu, vv, cc로 주어진다. 정점 uu와 정점 vv를 잇는 가중치 cc의 간선이 있다는 뜻이다. 간선의 가중치는 11 이상 10001000 이하이고, 같은 간선이 두 번 주어지는 경우는 없다. 정점 번호는 11번부터 nn번까지다.

출력

밀도가 최대인 유도 부분그래프의 밀도를 소수점 아래 여섯째 자리까지 반올림해서 출력한다.

정답이 여섯 자리 소수 두 개의 정확히 중간에 놓이는 입력은 주어지지 않으므로, 반올림 방향은 항상 하나로 정해진다.