자기상관 함수
면접 대비시간 제한8초메모리 제한512 MB
꼭짓점으로 주어진 조각별 선형 함수에 대해 주어진 이동량 r에서 f(x)f(x+r)의 전 구간 적분값을 계산한다.
문제
자기상관 함수는 신호를 자기 자신의 평행이동한 복사본과 비교해 얼마나 닮았는지 재는 도구다. 실수 전체에서 정의된 연속 함수 의 자기상관 함수 는 다음과 같다.
여기서 은 실수다.
이 문제에서 다루는 는 조각마다 일차인 연속 함수다. 는 좌표가 서로 다른 개의 끝점 부터 까지로 주어지고, 이웃한 두 끝점은 선분으로 이어진다. 첫 끝점과 마지막 끝점의 좌표는 0이고, 구간 바깥에서 의 값은 0이다. 아래 그림은 이런 함수의 예다.

와 이 주어질 때 의 값을 구하는 프로그램을 작성한다.
입력
입력은 여러 개의 데이터 집합으로 이루어진다.
각 데이터 집합의 첫 줄에 정수 ()과 실수 ()이 주어진다. 은 를 이루는 끝점의 개수이고, 은 자기상관 함수의 매개변수다. 이어지는 개의 줄 가운데 번째 줄에는 번째 끝점의 좌표인 두 정수 ()와 ()가 주어진다. 끝점은 좌표가 증가하는 순서로 주어지고, 좌표가 같은 두 끝점은 없다. 첫 끝점과 마지막 끝점의 좌표는 항상 0이다.
입력의 끝은 과 이 모두 0인 줄로 표시한다. 이 줄은 데이터 집합이 아니므로 처리하지 않는다.
출력
각 데이터 집합마다 의 값을 한 줄에 하나씩 출력한다. 값은 소수점 아래 일곱째 자리에서 반올림해 소수점 아래 여섯 자리까지 적는다. 값이 0이면 -0.000000이 아니라 0.000000을 출력한다.