수열의 아름다움

각 나무의 높이가 구간에서 균등 독립적으로 정해질 때, 지그재그 부분수열의 최대 아름다움의 기댓값을 구한다.

어려움8동적 계획법확률아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

영선이는 나무 NN그루를 일렬로 심었다. 나무에는 00번부터 N1N-1번까지 번호가 붙어 있다. ii번 나무가 다 자라면 높이는 lowilow_i 이상 highihigh_i 이하의 정수가 되고, 이 범위에 속한 각 정수가 나올 확률은 모두 같다. 나무의 높이는 서로 독립으로 정해진다.

영선이는 교차 수열을 좋아한다. 교차 수열의 정의는 다음과 같다.

  • 길이가 11인 수열은 교차 수열이다.
  • 길이가 22인 수열 (A,B)(A, B)ABA \ne B이면 교차 수열이다.
  • 길이가 33인 수열 (A,B,C)(A, B, C)A<BA < B이면서 B>CB > C이거나, A>BA > B이면서 B<CB < C이면 교차 수열이다.
  • 길이가 L>3L > 3인 수열 (A0,A1,,AL1)(A_0, A_1, \dots, A_{L-1})은 연속한 세 원소로 이루어진 (A0,A1,A2)(A_0, A_1, A_2), (A1,A2,A3)(A_1, A_2, A_3), \dots, (AL3,AL2,AL1)(A_{L-3}, A_{L-2}, A_{L-1})이 모두 교차 수열일 때 교차 수열이다.

수열의 아름다움은 인접한 두 원소의 차이의 절댓값을 모두 더한 값이다. 즉 (A0,A1,,AL1)(A_0, A_1, \dots, A_{L-1})의 아름다움은 A0A1+A1A2++AL2AL1|A_0 - A_1| + |A_1 - A_2| + \dots + |A_{L-2} - A_{L-1}|이다. 길이가 11인 수열의 아름다움은 00이다.

나무가 다 자란 뒤에 영선이는 00번 나무부터 N1N-1번 나무까지의 높이를 순서대로 공책에 적는다. 적은 수열이 교차 수열이면 그대로 둔다. 교차 수열이 아니면 수를 몇 개 지워서 교차 수열로 만든다. 남는 수는 원래 순서를 지킨다. 교차 수열을 만드는 방법이 여럿이면 아름다움이 가장 큰 쪽을 고른다. 이렇게 얻은 수열을 결과 수열이라고 한다.

결과 수열의 아름다움의 기댓값을 구하는 프로그램을 작성하시오.

입력

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

둘째 줄부터 NN개의 줄에 걸쳐 ii번 나무의 lowilow_ihighihigh_i가 공백으로 구분되어 주어진다. (1lowihighi1000001 \le low_i \le high_i \le 100000)

출력

결과 수열의 아름다움의 기댓값을 소수점 아래 여섯째 자리까지 출력한다. 소수점 아래 일곱째 자리에서 반올림하고, 자리가 남으면 00으로 채워 여섯 자리를 정확히 맞춘다. 예를 들어 답이 88이면 8.000000을 출력한다.

힌트

나무가 33그루이고 세 나무의 높이 범위가 모두 11 이상 22 이하이면 다 자란 결과는 88가지다.

  • (1,1,1)(1, 1, 1)(2,2,2)(2, 2, 2)는 수를 두 개 지워야 교차 수열이 되고, 아름다움은 00이다.
  • (1,1,2)(1, 1, 2), (2,2,1)(2, 2, 1), (1,2,2)(1, 2, 2), (2,1,1)(2, 1, 1)은 가운데 수를 지우면 되고, 아름다움은 11이다.
  • (1,2,1)(1, 2, 1)(2,1,2)(2, 1, 2)는 지울 필요가 없고, 아름다움은 22이다.

따라서 기댓값은 48×1+28×2=1\frac{4}{8} \times 1 + \frac{2}{8} \times 2 = 1이다.