센서 네트워크
시간 제한3초메모리 제한128 MB
가중치가 있는 단순 그래프에서 모든 정점을 덮는 연결 스패닝 부분그래프를 이루는 간선들의 전압 구간 중 최소 폭을 구합니다.
문제
건물은 여러 개의 센서로 보호된다. 각 센서는 서로 다른 두 개의 문을 담당하며, 모든 문은 적어도 하나의 센서가 담당한다. 문을 그래프의 정점, 센서를 그래프의 간선이라고 생각하자. 이 그래프는 단순 그래프이며, 같은 두 문을 담당하는 센서는 두 개 이상 존재하지 않는다.
각 센서에는 권장 전압이 적혀 있다. 센서는 권장 전압 이상에서 동작할 수 있으며(권장 전압보다 높은 전압을 걸수록 고장 위험이 커진다), 권장 전압보다 낮은 전압에서는 절대 동작하지 않는다. 거의 모든 센서의 권장 전압은 서로 다르다.
당신은 센서의 부분집합을 켜야 한다. 어떤 부분집합이 다음 두 조건을 모두 만족하면 가능한 부분집합이라고 부른다.
- 덮개. 모든 문은 그 부분집합에 속한 센서 중 적어도 하나가 담당한다.
- 연결성. 전력은 켜져 있는 센서 하나에 공급된 뒤 전선을 통해 다른 센서로 전달된다. 전선은 같은 문을 공유하는 두 개의 켜진 센서만 연결할 수 있다(어떤 문을 두 센서가 함께 담당하면 두 센서는 이웃이다). 켜진 모든 센서에 전력이 공급되어야 하므로, 켜진 센서들은 이러한 전선을 통해 서로 도달할 수 있어야 한다. 즉 하나의 연결된 덩어리를 이루어야 한다.
켜진 모든 센서에는 같은 전압이 공급되며, 그 전압은 어떤 센서의 권장 전압보다도 낮을 수 없다. 고장 위험을 낮추기 위해, 고른 센서들의 권장 전압은 가능한 한 서로 가까워야 한다. 어떤 부분집합의 마진을 그 부분집합에 속한 센서들의 권장 전압 중 최댓값과 최솟값의 차이로 정의한다.
전체 센서 집합은 항상 가능한 부분집합이다. 가능한 모든 부분집합 중에서 마진의 최솟값을 구하라.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 각 테스트 케이스는 하나의 빈 줄로 구분된다.
각 테스트 케이스의 첫 줄에는 문의 개수인 정수 ()이 주어진다. 문은 부터 까지 번호가 매겨져 있다. 다음 줄에는 센서의 개수인 정수 ()이 주어진다. 이어지는 개의 줄에는 각 센서를 나타내는 세 정수 , , (, , , )가 주어진다. 이는 센서가 담당하는 서로 다른 두 문과 그 권장 전압을 뜻한다. 같은 두 문을 담당하는 센서는 존재하지 않는다.
입력의 마지막 줄에는 하나가 주어진다.
출력
각 테스트 케이스마다 가능한 부분집합의 최소 마진을 한 줄에 출력하라.