시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
2 초 128 MB 211 17 14 11.290%

문제

수학에서 등차수열은 두 개의 연속된 숫자의 차이가 항상 일정한 수열이다. 예를 들어, 3 5 7 9 11 13은 차이가 2인 등차수열이다. 등차수열은 An = A0+n*d와 같이 표현할 수 있다.

수열 S가 주어진다. 수열 Si = ⌊Ai+1⌋이다. 그리고, 감소하지 않는 수열이다. ⌊x⌋는 x보다 작거나 같은 정수 중 가장 큰 값이다. 예를 들어 ⌊3.4⌋ = 3, ⌊0.6⌋ = 0, ⌊-1.2⌋ = -2, ⌊-0.6⌋ = 1이다.

수열 A는 A0+i*d와 같이 정의할 수 있다. 가능한 d의 값 중 가장 작은 값을 구하는 프로그램을 작성하시오. d는 0 이상이다.

입력

첫째 줄에 주어지는 수열 S의 개수 N과 A0이 주어진다. 둘째 줄에 S0부터 SN-1까지 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같은 자연수이고, 나머지 수는 모두 절댓값이 106보다 작거나 같은 정수이다.

출력

첫째 줄에 가능한 d중 최솟값을 소수 10째자리 까지 출력한다. 만약, 그러한 것이 없을 때는 -1을 출력한다.

예제 입력

4 0
6 13 20 27

예제 출력

6.75

힌트

출처

  • 문제를 번역한 사람: baekjoon
  • 문제의 오타를 찾은 사람: bupjae