선형 회귀는 너무 쉬워 3
시간 제한2초메모리 제한1024 MB
y절편 b가 고정된 상태에서 세제곱 잔차의 합을 0에 가장 가깝게 만드는 실수 기울기 a를 구한다.
문제
이 문제는 선형 회귀는 너무 쉬워 4와 문제에서 사용하는 식의 차수만 다릅니다.
유림이는 선형 회귀에 자신이 있다. 그래서 MatKor 동아리에서 선형 회귀에 관한 수업을 할 때 집중하지 않았다. 당시 강사였던 동우는 이를 못마땅하게 여겨 유림이에게 과제로 선형 회귀는 너무 쉬워 1과 선형 회귀는 너무 쉬워 2를 내주었고, 유림이는 두 문제를 쉽게 풀었다.
기존의 일반적인 선형 회귀 문제는 다음과 같다. 데이터 이 주어졌을 때, 이를 가장 잘 설명하는 일차함수 를 찾는 문제이다. 여기서 주어진 점들 에 대해 를 통해 얻는 추정치 로 정의하고, 실제 에서 예측치인 를 뺀 값 를 잔차 로 정의한다.
선형 회귀 문제는 이 잔차 제곱의 합이 에 가장 가깝게, 즉 이 최소가 되도록 하는 실수 와 를 찾는 문제이다.
동우는 여기에서 더 발전시켜 잔차 제곱의 합 즉, 이 에 가장 가깝게 하는 실수 와 을 구하는 문제를 냈다.
이 문제를 풀던 유림이는 너무 어려워서 동우에게 조금만 쉽게 바꿔 달라고 하자 동우는 조금 고민하다 다음과 같은 조건을 추가한다. ”일 때만 구해. 그리고 절편이 정해져 있을 때 기울기만 정해. 또, 모든 점의 좌표는 양의 정수, 좌표도 정수라고 가정하자.”
이제 유림이가 풀 문제는 다음과 같다. 주어진 에 대해 이 에 가장 가깝게 하는 실수 를 이라고 할 때, 을 구하면 된다.
입력
첫 번째 줄에 데이터의 개수를 의미하는 정수 과 절편을 의미하는 정수 가 공백으로 구분되어 주어진다.
두 번째 줄부터 개의 줄에 걸쳐 한 줄에 하나씩 점의 좌표를 나타내는 정수 와 의 값이 공백으로 구분되어 주어진다.
이때, 서로 같은 점이 여러 번 주어질 수 있음에 유의하라.
출력
첫 번째 줄에 의 값이 에 가장 가깝게 하는 , 즉, 을 출력한다.
답이 여러 가지라면 그중 아무거나 하나 출력한다.
가능한 정답 중 최소 하나 이상과의 절대오차 또는 상대오차가 이하이면 정답으로 인정된다.