합이 H 이상인 음이 아닌 높이를 정해 선형 비용과 섬 쌍별 높이 차이 비용의 합을 최소화하고 최소값을 기약분수로 출력합니다.
어려움8그래프수학아직 제출이 없습니다시간 제한5초메모리 제한64 MB하늘 어딘가에서 KM 왕국이 앞선 기술로 떠 있는 섬 n개를 만들었다. 섬에는 1번부터 n번까지 번호가 붙어 있다.
키타마사 왕은 각 섬의 고도를 음이 아닌 실수 중에서 마음대로 정할 수 있다. 단, 모든 섬의 고도를 더한 값이 H 이상이어야 한다. 섬 i를 고도 hi까지 띄우는 비용은 bihi이다. 섬끼리는 서로 통신하므로 섬 i와 섬 j 사이에 ci,j∣hi−hj∣의 비용이 더 든다.
에너지 값이 오른 탓에 왕은 총비용
∑i=1nbihi+∑1≤i<j≤nci,j∣hi−hj∣
을 가장 작게 만들려 한다. 궁정 프로그래머인 당신은 이 최솟값을 구한다. 최솟값은 항상 유리수이다.
입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에 정수 n과 H가 공백 하나로 구분되어 주어진다 (1≤n≤100, 0≤H≤1000). 둘째 줄에는 정수 b1,b2,…,bn이 주어진다 (0≤bi≤1000). 이어지는 n개 줄에는 각각 정수 ci,1,ci,2,…,ci,n이 주어진다 (0≤ci,j≤1000). 항상 ci,i=0이고 ci,j=cj,i이다.
마지막 테스트 케이스 다음 줄에는 0이 두 개 주어진다. 테스트 케이스는 20개 이하이다.
각 테스트 케이스마다 Case x: p/q 형식으로 한 줄씩 출력한다. x는 1부터 세는 테스트 케이스 번호이고, p/q는 총비용의 최솟값을 기약분수로 나타낸 것이다. q>0이어야 하고 p와 q의 최대공약수는 1이어야 한다. 최솟값이 정수 v이면 v/1로 출력한다. 예를 들어 최솟값이 2이면 2/1, 17.5이면 35/2로 출력한다.