프로그램 명: nfs
제한시간: 1 초

더블릿은 이번에 횡성에서 개최되는 세계최대 자동차 경주대회에 참가 신청을하였다. 더블릿이 소유하고 있는 레이싱카는 현재 무게가 M(1 <= M <= 1,000)이고, 힘이F(1 <= F <= 1,000,000)이다. 더블릿은 이번 대회에 대한 기대가 남달라 지금 가지고 레이싱카를 튜닝하고자 서울에 있는 레이싱카 튜닝전문 매장을 찾아 갔다. 튜닝 매장에는 N (1 <= N <= 20)개의 튜닝 부품을 판매하며, 각각의 부품은 1개의 재고만 있어 동일 부품을 여러개 구입할 수는 없다.

i번째부품 P_i를 레이싱카에 추가하면 힘F_i(1 <= F_i <= 1,000,000)를 증가시킬수 있으나 부품의무게 M_i(1 <= M_i <= 1,000)또한 추가 되게 된다.

레이싱카의 생명은 가속도(Acceleration)이다. 더블릿은 이번대회 우수한 성적을 위해 레이싱카의 가속도를 최대화 하기위해 튜닝 매장에 있는 부품중 어느것을 구입하여 장착하여야 하는지 여러분에게 도움을 요청하였다.

여러분은 더블릿의 레이싱카의 가속도를 최대화 시킬 수 있는 추가부품리스트를 작성하는 프로그램을 만들어 주어야 한다.

물론 공부잘하는 여러분이 이미 알고있겠지만, 뉴톤의제2법칙 F=MA를 따르면 힘이 일정할 경우 무게와 가속도는 반비례가 된다. 따라서 부품을 추가하면 힘과 무게가 동시에 증가하기 때문제 고려하여 선택하여야 한다.

초기 힘F=1500, 무게 M=100이고 4가지 종류의 부품이 추가가능한 아래 경우를 살펴보자.

I F_i M_i
1 250 25
2 150 9
3 120 5
4 200 8

2번 부품만 추가할 경우 가속도는 (1500+150)/(100+9) = 1650/109 = 15.13761. 가 된다.

아래 표에서 가능한 모든경우의 가속도를 살펴볼 수 있다.(1=포함, 0=제외):

Parts     Aggregate     Aggregate  
1234        F               M        F/M 
0000     1500              100     15.0000 
0001     1700              108     15.7407 
0010     1620              105     15.4286 
0011     1820              113     16.1062 
0100     1650              109     15.1376 
0101     1850              117     15.8120 
0110     1770              114     15.5263 
0111     1970              122     16.1475 <-- highest F/M 
1000     1750              125     14.0000 
1001     1950              133     14.6617 
1010     1870              130     14.3846 
1011     2070              138     15.0000 
1100     1900              134     14.1791 
1101     2100              142     14.7887 
1110     2020              139     14.5324 
1111     2220              147     15.1020 
위 표로부터 최적의 부품리스트는 2,3,4번 임을 확인할 수 있다.

입력

출력

입출력 예

입력 

1500 100 4 
250 25 
150 9 
120 5 
200 8 

출력 

2 
3 
4 
출처:usaco 2010 March blonze 
번역:sunghyen

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]