사탕의 밀도
면접 대비시간 제한2초메모리 제한512 MB
밀도 d를 정해 |W_i - d*C_i|의 합을 최소로 만들고, 그 최솟값을 기약분수로 출력한다.
문제
알고리즘 캠프의 특별 손님 성원이가 참가자에게 나눠 줄 사탕을 만든다. 참가자는 명이고 0번부터 번까지 번호가 붙어 있다.
번 참가자는 용량이 리터인 바구니를 들고 있고, 받고 싶은 사탕의 무게는 그램이다.
성원이는 모든 바구니를 용량만큼 가득 채운다. 즉 번 참가자는 정확히 리터의 사탕을 받는다. 대신 사탕은 한 종류만 만들 수 있어서, 밀도 (그램/리터)는 모든 사탕에 똑같이 적용된다. 는 양의 실수 중에서 마음대로 고를 수 있다.
밀도를 로 정하면 번 참가자가 실제로 받는 사탕의 무게는 그램이다. 성원이는 되도록 많은 참가자를 만족시키려고, 원하는 무게와 실제로 받은 무게의 차이의 합
을 최소로 하는 를 고른다. 이 합의 최솟값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 참가자의 수 ()이 주어진다.
둘째 줄에 이, 셋째 줄에 이 공백으로 구분되어 주어진다. ()
출력
차이의 합의 최솟값을 기약분수로 한 줄에 출력한다.
최솟값은 항상 유리수이다. 이 값을 (는 음이 아닌 정수, 는 양의 정수, )로 나타냈을 때, 이면 p만 출력하고, 그렇지 않으면 p/q 형식으로 출력한다. 소수나 근삿값은 정답으로 인정하지 않는다.