아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

스카이랜드

시간 제한5초메모리 제한64 MB

요약
합이 H 이상인 음이 아닌 높이를 정해 선형 비용과 섬 쌍별 높이 차이 비용의 합을 최소화하고 최소값을 기약분수로 출력합니다.
난이도

어려움10점 중 8점

유형
그래프, 수학
정답자
아직 제출이 없습니다

문제

하늘 어딘가에서 KM 왕국이 앞선 기술로 떠 있는 섬 nn개를 만들었다. 섬에는 11번부터 nn번까지 번호가 붙어 있다.

키타마사 왕은 각 섬의 고도를 음이 아닌 실수 중에서 마음대로 정할 수 있다. 단, 모든 섬의 고도를 더한 값이 HH 이상이어야 한다. 섬 ii를 고도 hih_i까지 띄우는 비용은 bihib_i h_i이다. 섬끼리는 서로 통신하므로 섬 ii와 섬 jj 사이에 ci,j∣hi−hj∣c_{i,j} |h_i - h_j|의 비용이 더 든다.

에너지 값이 오른 탓에 왕은 총비용

∑i=1nbihi+∑1≤i<j≤nci,j∣hi−hj∣\sum_{i=1}^{n} b_i h_i + \sum_{1 \le i < j \le n} c_{i,j} |h_i - h_j|

을 가장 작게 만들려 한다. 궁정 프로그래머인 당신은 이 최솟값을 구한다. 최솟값은 항상 유리수이다.

입력

입력은 여러 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에 정수 nn과 HH가 공백 하나로 구분되어 주어진다 (1≤n≤1001 \le n \le 100, 0≤H≤10000 \le H \le 1000). 둘째 줄에는 정수 b1,b2,…,bnb_1, b_2, \dots, b_n이 주어진다 (0≤bi≤10000 \le b_i \le 1000). 이어지는 nn개 줄에는 각각 정수 ci,1,ci,2,…,ci,nc_{i,1}, c_{i,2}, \dots, c_{i,n}이 주어진다 (0≤ci,j≤10000 \le c_{i,j} \le 1000). 항상 ci,i=0c_{i,i} = 0이고 ci,j=cj,ic_{i,j} = c_{j,i}이다.

마지막 테스트 케이스 다음 줄에는 00이 두 개 주어진다. 테스트 케이스는 2020개 이하이다.

출력

각 테스트 케이스마다 Case x: p/q 형식으로 한 줄씩 출력한다. xx는 11부터 세는 테스트 케이스 번호이고, p/qp/q는 총비용의 최솟값을 기약분수로 나타낸 것이다. q>0q > 0이어야 하고 pp와 qq의 최대공약수는 11이어야 한다. 최솟값이 정수 vv이면 v/1로 출력한다. 예를 들어 최솟값이 22이면 2/1, 17.517.5이면 35/2로 출력한다.

예제2

  1. 예제 1

    입력
    2 1
    1 3
    0 1
    1 0
    3 3
    1 2 4
    0 2 0
    2 0 1
    0 1 0
    0 0
    
    예상 출력
    Case 1: 2/1
    Case 2: 6/1
    
  2. 예제 2

    입력
    2 5
    3 4
    0 1
    1 0
    0 0
    
    예상 출력
    Case 1: 35/2