로봇 동력원 순서
면접 대비시간 제한0.2초메모리 제한128 MB
가속도 a_i와 지속 시간 s_i를 가진 n개의 에너지원을 재배열해 이동 거리를 최대로 만들고, 주어진 순서보다 얼마나 더 멀리 가는지 출력한다.
문제
사람이 갈 수 없는 곳을 탐사하는 로봇을 설계한다. 목표는 로봇을 최대한 멀리 보내는 것이다. 쓸 수 있는 동력원은 개이고, 번 동력원은 로봇을 의 가속도로 초 동안 가속시킨다. 로봇은 처음에 정지해 있으므로 초기 속도는 0이다.
한 동력원을 고르면 초를 모두 쓴 뒤 아직 쓰지 않은 다른 동력원으로 곧바로 갈아탄다. 교체에는 시간이 걸리지 않고, 각 동력원은 한 번만 쓸 수 있다. 이동 거리가 최대가 되도록 동력원의 사용 순서를 정한다.
각 동력원의 가속도와 지속 시간이 주어질 때, 최적 순서로 이동한 거리에서 입력에 주어진 순서 그대로 이동한 거리를 뺀 값을 구하는 프로그램을 작성하라.
물리 배경: 가속도가 인 동력원을 쓰기 직전의 속도가 라면, 초 뒤 로봇은 미터를 더 이동하고 속도는 가 된다.
입력
첫째 줄에 동력원의 개수 ()이 주어진다. 다음 개의 줄에는 동력원 하나의 가속도 와 지속 시간 가 공백을 사이에 두고 주어진다. 두 값은 모두 이하의 양의 정수다.
출력
최적 순서로 이동한 거리에서 입력 순서로 이동한 거리를 뺀 값을 소수점 아래 한 자리까지 출력한다. 이 차이는 항상 정수이므로 소수점 아래 첫째 자리는 언제나 0이다.