철인 2종 경기

각 참가자의 달리기와 수영 속도가 주어질 때, 양의 구간 길이 R과 S에 따라 1등이 될 수 있는 참가자를 모두 찾는다.

어려움8기하정렬그리디수학아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

20XX년 여름, 알고리즘 캠프에서 철인 2종 경기가 열린다. 이 경기는 달리기와 수영, 두 구간으로 이루어진다. 참가자는 먼저 RR미터를 달리고, 이어서 SS미터를 수영한다. 결승점에 가장 먼저 도착한 사람이 우승자가 된다. 여러 사람이 같은 시각에 도착하면 그 사람 모두 공동 우승자로 인정한다.

경기가 시작하기 전에 성관이는 참가자 NN명의 자료를 살펴보고 있다. ii번 참가자는 달리기 구간을 초당 rir_i미터로 달리고, 수영 구간을 초당 sis_i미터로 헤엄친다. 따라서 ii번 참가자가 결승점에 도착하는 시각은 Rri+Ssi\frac{R}{r_i} + \frac{S}{s_i}초다.

성관이는 모든 참가자의 두 속도를 알지만 RRSS가 얼마인지는 모른다. RRSS가 0보다 큰 실수라는 것만 알고 있다. RRSS를 어떻게 정하느냐에 따라 우승자가 달라지므로, 성관이는 우승할 가능성이 있는 사람이 누구인지 궁금하다. R>0R > 0, S>0S > 0인 실수 RRSS를 적절히 고르면 ii번 참가자가 우승자 또는 공동 우승자가 되는 경우, ii번 참가자는 우승할 가능성이 있다. 우승할 가능성이 있는 참가자를 모두 찾는 프로그램을 작성하시오.

입력

첫째 줄에 참가자 수 NN이 주어진다. (1N2000001 \le N \le 200000)

다음 NN개 줄에 참가자의 속도가 한 줄에 한 명씩 주어진다. ii번째 줄에는 ii번 참가자의 수영 속도 sis_i와 달리기 속도 rir_i가 이 순서대로 주어진다. 수영 속도가 먼저 온다는 점에 주의한다. 두 값 모두 자연수다. (1si,ri100001 \le s_i, r_i \le 10000)

출력

우승할 가능성이 있는 참가자의 번호를 오름차순으로 한 줄에 모두 출력한다. 번호는 공백 하나로 구분한다.