사람이 갈 수 없는 곳을 탐사하는 로봇을 설계한다. 목표는 로봇을 최대한 멀리 보내는 것이다. 쓸 수 있는 동력원은 n개이고, i번 동력원은 로봇을 ai m/s2의 가속도로 si초 동안 가속시킨다. 로봇은 처음에 정지해 있으므로 초기 속도는 0이다.
한 동력원을 고르면 si초를 모두 쓴 뒤 아직 쓰지 않은 다른 동력원으로 곧바로 갈아탄다. 교체에는 시간이 걸리지 않고, 각 동력원은 한 번만 쓸 수 있다. 이동 거리가 최대가 되도록 동력원의 사용 순서를 정한다.
각 동력원의 가속도와 지속 시간이 주어질 때, 최적 순서로 이동한 거리에서 입력에 주어진 순서 그대로 이동한 거리를 뺀 값을 구하는 프로그램을 작성하라.
물리 배경: 가속도가 a인 동력원을 쓰기 직전의 속도가 v라면, t초 뒤 로봇은 vt+21at2미터를 더 이동하고 속도는 v′=v+at가 된다.