레이저 클레이 사격

NYPC 2018 · 본선

클레이 사격이란 움직이는 원반을 향해 총을 쏘아 많은 수의 원반을 맞추는 스포츠이다. 아래와 같이 레이저를 발사하는 총으로 원반을 쏘는 레이저 클레이 사격 문제를 고려해 보자.

평면에 주어진 NN개의 원반이 수평방향으로 각각 일정한 속도로 움직이고 있다. 사격을 위한 총은 레이저를 사용하는데, 사격할 때 레이저의 발사 위치를 정하여 사격할 수 있다. 각각의 원반은 원으로 표현하고, 레이저는 수직방향의 직선으로 표현한다. 수직 방향의 직선 하나가 원과 교차하면 레이저가 원에 해당하는 원반을 맞추는 것으로 간주한다. 원반의 경계를 맞추는 것도 가능하다.

특정 시간을 정해 레이저를 수직 방향으로 쏘았을 때, 가장 많은 원반을 맞추는 프로그램을 작성하시오.

입력 형식

첫째 줄에 원의 개수 NN이 주어진다. (2N5002 \le N \le 500)

다음 N개의 줄에는 각각 세 개의 정수 LL, RR, VV가 주어진다. LLRR은 시간이 00일 때 원의 왼쪽 끝과 오른쪽 끝 위치를 각각 의미한다. (0L<R30000 \le L < R \le 3\,000). VV는 원이 움직이는 속도를 의미하는데, 1-1, 00, 혹은 11의 값을 갖는다. 속도가 1-1이면 원이 왼쪽으로 11의 속도로 움직이고, 속도가 11이면 원이 오른쪽으로 11의 속도로 움직인다. 속도가 00인 원은 움직이지 않는다. 모든 원은 시간이 00 이전에는 움직이지 않는다.

출력 형식

출력은 한 줄로 구성된다.

첫 번째 수는 하나의 직선이 동시에 교차할 수 있는 원의 최대 개수를 출력한다.

두 번째 수는 최대 개수의 원을 동시에 교차하는 직선의 위치를 출력한다. 만약 그러한 위치가 여러 개라면, 그 가운데 가장 왼쪽의 위치를 출력한다.

직선의 위치는 정확히 소수점 첫째 자리까지 반올림하여 출력한다. 예를 들어, 동시에 교차하는 원의 최대 개수가 33이고, 직선의 위치가 3535인 경우 3 35.0과 같이 출력한다. 만약, 직선의 위치가 10000-10\,000보다 더 왼쪽이라면 -INF를 직선의 위치로 출력한다. 레이저를 쏘는 시간은 출력하지 않는다.

예제 1

입력

3 0 2 1 4 6 1 9 12 -1

출력

2 4.5

예제 2

입력

2 0 5 -1 3 10 -1

출력

2 -INF

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞추어야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 16

N=2N = 2.

종류 2: 37

모든 원의 속도가 00.

종류 3: 47

별다른 제약조건 없음.

해설