Need For Speed
면접 대비시간 제한1초메모리 제한128 MB
자동차의 기본 힘과 질량, 그리고 힘과 질량을 더하는 N개의 부품이 주어질 때, 총 힘을 총 질량으로 나눈 값이 최대가 되는 부분집합을 고르고, 동점이면 총 질량이 작은 쪽을 고른다.
문제
Bessie는 다가오는 그랑프리를 앞두고 경주용 자동차를 손보고 있으며, 더 빠르게 만들기 위해 추가 부품을 사려고 한다.
현재 이 자동차의 질량은 ()이고, 스스로를 앞으로 밀어내는 힘은 ()이다. 뉴턴의 제2법칙에 따르면 이므로, 가속도는 이다.
부품 상점에는 번부터 번까지 번호가 매겨진 ()개의 부품이 있으며, 각 부품의 재고는 최대 한 개이다. 번 부품을 사면 힘이 ()만큼, 질량이 ()만큼 늘어난다. Bessie는 부품의 어떤 부분집합이든 (하나도 사지 않는 경우 포함) 자유롭게 살 수 있다.
부품 집합 를 장착하면 자동차의 총 힘은 , 총 질량은 가 되어 가속도는 다음과 같다.
이 가속도를 최대로 만드는 부품 집합을 고르시오. 최대 가속도가 같은 집합이 여러 개라면 총 질량이 가장 작은 집합을 고른다. 최적의 집합은 유일함이 보장된다.
예를 들어 힘이 , 질량이 인 부품 하나만 장착하면 가속도는 으로 바뀐다.
입력
첫째 줄에 세 정수 , , 이 공백으로 구분되어 주어진다.
다음 개의 줄 중 번째 줄에는 번 부품이 더하는 힘과 질량을 나타내는 두 정수 와 가 공백으로 구분되어 주어진다.
출력
Bessie가 장착해야 할 부품의 번호(1부터 시작)를 오름차순으로 한 줄에 하나씩 출력한다. 어떤 부품도 장착하지 않는 것이 최적이라면 NONE을 출력한다.