만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

드러머 (스몰)

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

요약
정수 타격 시각과 가장 잘 맞는 등차수열의 최소 오차를 기약분수로 출력합니다.
난이도

보통10점 중 7점

유형
수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

드러머는 밴드에서 박자를 지키는 역할을 맡는다. 박자가 흔들리면 연주 전체가 무너진다.

당신은 인기 록 밴드의 보컬이다. 드러머가 프로 게이머가 되겠다며 밴드를 떠났고, 새 드러머를 당장 구해야 한다. 다행히 지원자는 넘친다. 그중에서 박자를 가장 일정하게 유지하는 사람을 골라야 한다.

오디션은 한 명씩 따로 본다. 지원자는 드럼 하나를 스틱으로 여러 번 친다. 박자가 완벽하다면 연속한 두 타격의 시간 간격이 모두 같고, 타격 시각은 T0, T0+K, T0+2K, …, T0+(N−1)KT_0,\ T_0+K,\ T_0+2K,\ \dots,\ T_0+(N-1)K 형태의 등차수열을 이룬다. 여기서 T0T_0와 KK는 실수다.

사람이 완벽한 박자를 치기란 사실상 불가능하다. 그래서 지원자의 연주에는 오차 EE가 생긴다. 오차가 EE라는 말은, 모든 ii에 대해 ∣Ti−(T0+iK)∣≤E|T_i - (T_0 + iK)| \le E를 만족하는 T0T_0와 KK가 존재한다는 뜻이다. 타격은 0번부터 센다.

지원자의 타격 시각이 주어질 때, 지원자가 노렸을 법한 완벽한 박자 전체를 통틀어 가능한 오차 EE의 최솟값을 구하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 각 테스트 케이스가 두 줄씩 주어지고, 한 테스트 케이스는 지원자 한 명의 오디션이다. 첫 줄에는 타격 횟수 NN이 주어진다. 둘째 줄에는 지원자가 드럼을 친 시각 NN개가 밀리초 단위 정수로, 공백을 사이에 두고 증가하는 순서로 주어진다.

제한

  • 1≤T≤1001 \le T \le 100
  • 2≤N≤102 \le N \le 10
  • 0≤Ti≤1000 \le T_i \le 100
  • Ti<Ti+1T_i < T_{i+1}

출력

각 테스트 케이스마다 Case #x: E 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, EE는 가능한 오차의 최솟값이다.

EE는 항상 유리수이므로 기약분수로 출력한다. E=p/qE = p/q이고 p≥0p \ge 0, q≥1q \ge 1, gcd⁡(p,q)=1\gcd(p, q) = 1일 때 p/q를 출력하되, qq가 1이면 p만 출력한다. 오차가 0이면 0을, 4분의 3이면 3/4을 출력한다.

예제2

  1. 예제 1

    입력
    3
    2
    10 70
    4
    0 10 19 30
    6
    2 5 10 15 20 24
    
    예상 출력
    Case #1: 0
    Case #2: 1/2
    Case #3: 3/4
    
  2. 예제 2

    입력
    3
    4
    42 91 92 95
    3
    0 1 6
    2
    0 100
    
    예상 출력
    Case #1: 47/3
    Case #2: 1
    Case #3: 0