사탕의 밀도

밀도 d를 정해 |W_i - d*C_i|의 합을 최소로 만들고, 그 최솟값을 기약분수로 출력한다.

보통6수학그리디정렬이분 탐색면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

알고리즘 캠프의 특별 손님 성원이가 참가자에게 나눠 줄 사탕을 만든다. 참가자는 NN명이고 0번부터 N1N-1번까지 번호가 붙어 있다.

ii번 참가자는 용량이 CiC_i 리터인 바구니를 들고 있고, 받고 싶은 사탕의 무게는 WiW_i 그램이다.

성원이는 모든 바구니를 용량만큼 가득 채운다. 즉 ii번 참가자는 정확히 CiC_i 리터의 사탕을 받는다. 대신 사탕은 한 종류만 만들 수 있어서, 밀도 dd(그램/리터)는 모든 사탕에 똑같이 적용된다. dd는 양의 실수 중에서 마음대로 고를 수 있다.

밀도를 dd로 정하면 ii번 참가자가 실제로 받는 사탕의 무게는 d×Cid \times C_i 그램이다. 성원이는 되도록 많은 참가자를 만족시키려고, 원하는 무게와 실제로 받은 무게의 차이의 합

i=0N1Wid×Ci\sum_{i=0}^{N-1} \left| W_i - d \times C_i \right|

을 최소로 하는 dd를 고른다. 이 합의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 참가자의 수 NN (1N501 \le N \le 50)이 주어진다.

둘째 줄에 C0,C1,,CN1C_0, C_1, \dots, C_{N-1}이, 셋째 줄에 W0,W1,,WN1W_0, W_1, \dots, W_{N-1}이 공백으로 구분되어 주어진다. (1Ci,Wi10000001 \le C_i, W_i \le 1000000)

출력

차이의 합의 최솟값을 기약분수로 한 줄에 출력한다.

최솟값은 항상 유리수이다. 이 값을 p/qp / q (pp는 음이 아닌 정수, qq는 양의 정수, gcd(p,q)=1\gcd(p, q) = 1)로 나타냈을 때, q=1q = 1이면 p만 출력하고, 그렇지 않으면 p/q 형식으로 출력한다. 소수나 근삿값은 정답으로 인정하지 않는다.