시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
프로그래밍 시간에 학생들이 계속 떠들고 있다. 더는 참지 못한 조쌤은 학생들을 잡으려고 뛰기 시작했고, 동시에 떠들던 N명의 학생도 도망가기 시작했다.
처음에 조쌤은 (BX,BY)에 있다. 조쌤은 초당 (BVX,BVY)만큼 이동하므로, t초 뒤 위치는 (BX+BVX×t,BY+BVY×t)이다.
학생 i는 처음에 (Xi,Yi)에 있고 초당 (VXi,VYi)만큼 이동한다. 따라서 t (t≥0)초 뒤 위치는 (Xi+VXi×t,Yi+VYi×t)이다.
어떤 한 순간에 조쌤은 자신의 위치에서 반지름 R인 원 안에 있는 학생들을 모두 잡을 수 있다. 한 번 기회를 쓰면 나머지 학생들은 모두 도망가므로, 조쌤은 시간을 하나 골라 그 순간에 잡을 수 있는 학생 수를 최대화하려고 한다.
학생들과 조쌤의 초기 위치와 이동 방향이 주어질 때, 조쌤이 한 번에 잡을 수 있는 학생 수의 최댓값을 구하라. 최적의 시간은 정수가 아닐 수도 있다.
첫 줄에 학생 수 N, 잡을 수 있는 반경 R, 조쌤의 초기 위치 BX, BY, 조쌤의 이동 벡터 BVX, BVY가 공백으로 구분되어 주어진다.
다음 N개 줄에는 학생 정보가 한 줄에 하나씩 주어진다. 각 줄에는 학생의 초기 위치 Xi, Yi와 이동 벡터 VXi, VYi가 공백으로 구분되어 주어진다.
첫 줄에 조쌤이 한 번에 잡을 수 있는 학생 수의 최댓값을 출력한다.
실수 오차 보정을 위해 학생과 조쌤 사이의 거리가 R±0.0001인 경우에도 잡을 수 있다고 판정한다.
첫 번째 예시에서는 1.5초가 지난 뒤 조쌤의 위치가 (0,3)이다. 이때 학생들의 위치는 각각 (0,3), (−0.5,3.5), (4,−3.5)이므로 반경 1 안에 있는 1번과 2번 학생을 잡을 수 있다. 이보다 많이 잡을 수 있는 시간은 없다.