홍준이는 물리를 좋아해
시간 제한2초메모리 제한512 MB
연결된 유도 부분그래프 중에서 (정점 가중치 합)/(간선 가중치 합)을 최대로 하는 것을 찾아 그 밀도를 출력한다. 비율을 이분 탐색하고 최대 폐포 문제로 판정하는 분수 계획법 문제다.
문제
홍준이는 물리를 좋아하고, 밀도를 계산하는 것이 취미다.
학교에서 그래프 이론을 배운 홍준이는 그래프에서도 밀도를 정의해 보기로 했다. 정점과 간선에 가중치가 있는 무방향 그래프에서 정점 가중치의 합을 , 간선 가중치의 합을 라고 하면 이 그래프의 밀도는 다.
홍준이는 생일 선물로 명우에게서 정점과 간선에 가중치가 있는 무방향 그래프를 하나 받았다. 홍준이는 이 그래프의 유도 부분그래프 중에서 밀도가 가장 큰 것을 찾고 싶다.
그래프 의 유도 부분그래프 는 다음 조건을 만족한다.
- 정점 와 를 잇는 간선이 에 속하는 것은 이고 이며 그 간선이 에 속할 때, 그때뿐이다.
- 에서 정점과 간선의 가중치는 에서와 같다.
- 은 연결 그래프다.
간선이 하나도 없는 유도 부분그래프는 가 이어서 밀도를 정의할 수 없으므로 후보에서 제외한다.
홍준이를 도와 밀도가 최대인 유도 부분그래프의 밀도를 구하라.
입력
첫째 줄에 정점의 개수 과 간선의 개수 이 주어진다. (, )
둘째 줄에 번째 정점의 가중치를 나타내는 정수 개가 공백을 사이에 두고 주어진다. 정점의 가중치는 이상 이하다.
이어지는 개의 줄에 간선의 정보가 세 정수 , , 로 주어진다. 정점 와 정점 를 잇는 가중치 의 간선이 있다는 뜻이다. 간선의 가중치는 이상 이하이고, 같은 간선이 두 번 주어지는 경우는 없다. 정점 번호는 번부터 번까지다.
출력
밀도가 최대인 유도 부분그래프의 밀도를 소수점 아래 여섯째 자리까지 반올림해서 출력한다.
정답이 여섯 자리 소수 두 개의 정확히 중간에 놓이는 입력은 주어지지 않으므로, 반올림 방향은 항상 하나로 정해진다.