¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1185

페리탑승 1s 128MB

Problemas

강이나 호수 또는 바다를 통해서 자동차를 운반할 때는 페리를 사용한다. 일반적으로 페리에는 배 전체 길이에 걸쳐서 두 줄로 차를 실을 수 있다. 차들은 한 쪽 방향으로 배에 오르고, 그 배가 목적지에 도착하면 반대편으로 내린다.

 

페리에 오르기 전에는 차들이 한 줄로 대기하며, 탑승시에는 담당자의 지시에 따라 좌현(port) 또는 우현(starboard)으로 올라간다. 이렇게 해야 왼쪽과 오른쪽의 균형을 맞출 수 있기 때문이다. 줄지어 대기중인 차들은 길이가 모두 다른데, 줄에서 대기중인 동안 담당자가 차의 길이를 검사한다.

 

이 검사 결과를 바탕으로 각 차를 어느 쪽으로 탑승시켜야 할지를 결정하는데, 페리의 길이 제한 내서 최대한 여러대를 탑승시켜야 한다. 그리고 좌현과 우현에 탑승하는 차의 길이 합이 최대한 비슷해야 한다.

 

담당자에게 최대한 여러대를 탑승시키기 위한 선적 방법을 알려줄 수 있는 프로그램을 만들자.​ 


Entrada

입력의 첫 번째 줄에는 1 이상 100 이하의 정수가 입력되는데, 이는 페리의 길이(미터 단위)를 나타낸다. 

 

줄에 서 있는 각 차량마다 한 줄씩 차의 길이가 센티미터 단위로 입력되는데, 이 정수는 최소 100, 최대 3,000 이다. 

 

마지막 줄에는 0 이 입력된다. 

 

모든 차는 순서대로 선적해야 하는데, 이때 차 길이의 총합이 페리의 길이보다 길지 않다는 조건이 만족되어야 한다. 

 

첫 번째 차에서 시작해서 더 이상 선적 할 수 없게 될 때까지 차를 페리에 싣는데, 최대한 차를 많이 실을 수 있어야 한다.​ 


Salida

출력의 첫 번째 줄에는 페리에 선적할 수 있는 차량 수를 출력한다. 

 

페리에 선적할 수 있는 각 차에 대해, 좌현(왼쪽)에 선적해야 하는 차에 대해서는 "port"라고 출력하고, 우현(오른쪽)에 선적해야 하는 차에 대해서는 "starboard"라고 출력한다. 

 

여러 방식으로 선적할 수 있으면 그 중 아무 결과나 출력하면 된다.​ 


Ejemplo

50

2500
3000
1000
1000
1500
700
800
0
6

port
starboard
starboard
port
port
starboard

Fuente

Waterloo local 1999, poj 2609
Debes iniciar sesión para escribir código.