소 베시는 겨울 무우림픽 대회에서 크로스컨트리 스키 종목에 출전하고 있다. 그녀는 초당 1미터의 속도로 출발한다. 하지만 시간이 지나면서 점점 지쳐서 느려지기 시작한다. 베시가 느려질 때마다 속도가 감소한다. 한 번 느려지면 초당 ½미터로, 두 번 느려지면 초당 ⅓미터로 움직이며, 이런 식으로 계속된다.
베시가 언제 어디서 느려지는지는 일련의 이벤트로 주어진다. 다음과 같은 이벤트는
T 17
베시가 특정 시각에 느려진다는 의미이다. 여기서는 경주 시작 후 17초이다. 다음과 같은 이벤트는
D 10
베시가 출발점으로부터 특정 거리에서 느려진다는 의미이다. 이 경우 10미터이다.
이러한 이벤트 N개 (1 <= N <= 10,000)의 목록이 주어졌을 때, 베시가 1킬로미터 전체를 이동하는 데 걸리는 시간을 초 단위로 계산하시오. 답은 가장 가까운 정수 초로 반올림한다 (0.5는 1로 올림한다).
문제 제공: Brian Dean, 2014
첫째 줄: N의 값.
둘째 줄부터 1+N번째 줄까지: 각 줄은 시간 이벤트 또는 거리 이벤트를 나타내는 "T x" 또는 "D x" 형태이다. 두 경우 모두 x는 베시가 총거리 1킬로미터에 도달하기 전에 이벤트가 일어나도록 보장되는 정수이다. 여러 이벤트가 동시에 일어나 베시가 한꺼번에 많이 느려질 수도 있다. 이벤트가 순서대로 주어지지 않을 수 있다.
첫째 줄: 베시가 1킬로미터를 이동하는 데 필요한 총시간.
slowdown.in · 출력을 쓸 파일 slowdown.out2
T 30
D 102970Input details: Bessie slows down at time t = 30 and at distance d = 10.
Output details: Bessie travels the first 10 meters at 1 meter/second, taking 10 seconds. She then slows down to ½ meter/second, taking 20 seconds to travel the next 10 meters. She then reaches the 30 second mark, where she slows down again to ⅓ meter/second. The remaining 980 meters therefore take her 980 * 3 = 2940 seconds. The total time is therefore 10 + 20 + 2940 = 2970.
riseoj 작성
출처 올림피아드 > USACO > 2013-2014 > January > Silver