불확실한 표본에 직선 맞추기
시간 제한2초메모리 제한256 MB
불확실한 표본 값들과 기대 절댓값 편차가 가장 작아지는 직선을 찾아 최소 오차를 출력합니다.
문제
알 수 없는 함수 에서 얻은 유한한 표본점 집합에 함수를 맞추는 것은 수학의 기본 문제다. 가장 흔한 형태는 표본점에 가장 잘 맞는 일차함수 를 찾는 것이다. 를 에서 표본으로 얻었다고 하자. 가 표본점에 얼마나 잘 맞는지는 다음 오차로 잴 수 있다.
그런데 표본점에서의 함숫값을 정확히 알지 못한다. 대신 각 의 이산확률분포를 알고 있다. 즉 가능한 값 와 그 확률 가 주어지고, 이다. 이때 오차는 기댓값을 써서 다음과 같이 정의한다.
이 오차를 최소로 만드는 일차함수 를 찾아, 그 최소 오차를 구하는 프로그램을 작성하시오.
입력
입력은 여러 개의 테스트 케이스로 이루어진다. 각 테스트 케이스의 첫 줄에는 표본점의 개수 이 주어진다 (). 다음 개의 줄에는 표본점의 정보가 가 증가하는 순서로 한 줄에 하나씩 주어진다. 번째 표본점의 줄은 함수를 표본으로 얻은 위치 와 분포의 크기 로 시작한다 (, ). 이어서 에서 가능한 함숫값 개 가 주어지고 (), 마지막으로 확률 개 가 주어진다 (). 실제 확률은 를 100으로 나눈 값이고, 표본점 하나마다 확률 개의 합은 100이다. 모든 값은 정수이고 이다. 입력의 마지막 줄에는 0이 하나 주어지며, 이 줄은 테스트 케이스가 아니다.
출력
각 테스트 케이스마다 최소 오차를 소수점 아래 한 자리까지 반올림해 한 줄에 출력한다. 정확히 중간인 값은 올린다. 예를 들어 0.25는 0.3으로 출력한다.