The Mountain Amusement Park has opened a brand-new simulated roller coaster. The simulated track consists of
rails attached end-to-end with the beginning of the first rail fixed at elevation
. Byteman, the
operator, can reconfigure the track at will by adjusting the elevation change over a number of consecutive
rails. The elevation change over other rails is not affected. Each time rails are adjusted, the following track is
raised or lowered as necessary to connect the track while maintaining the start at elevation
. The figure on
the next page illustrates two example track reconfigurations.
Each ride is initiated by launching the car with sufficient energy to reach height
. That is, the car will
continue to travel as long as the elevation of the track does not exceed
, and as long as the end of the track
is not reached.
Given the record for all the day's rides and track configuration changes, compute for each ride the number
of rails traversed by the car before it stops.
Internally, the simulator represents the track as a sequence of
elevation changes, one for each rail. The
-th number
represents the elevation change (in centimetres) over the
-th rail. Suppose that after traversing
rails the car has reached an elevation of
centimetres. After traversing
rails the car will have reached
an elevation of
centimetres.
Initially the rails are horizontal; that is,
for all
. Rides and reconfigurations are interleaved throughout the day. Each reconfiguration is specified by three numbers:
and
. The segment to be adjusted
consists of rails
through
(inclusive). The elevation change over each rail in the segment is set to
. That
is,
for all
.
Each ride is specified by one number
— the maximum height that the car can reach.
Task
Write a program that:
- reads from the standard input a sequence of interleaved reconfigurations and rides,
- for each ride computes the number of rails traversed by the car,
- writes the results to the standard output.
Input
The first line of input contains one positive integer
— the number of rails,
. The
following lines contain reconfigurations interleaved with rides, followed by an end marker. Each line contains
one of:
- Reconfiguration — a single letter
I
, and integers
and
, all separated by single spaces
.
- Ride — a single letter
Q
, and an integer
separated by a single space;
- A single letter
E
— the end marker, indicating the end of the input data.
You may assume that at any moment the elevation of any point in the track is in the interval
centimetres.
The input contains no more than
lines.
In
of test cases
satisfies
and there are no more than
lines of input.
Output
The
-th line of output should consist of one integer — the number of rails traversed by the car during the
-th
ride.
Sample Input
Copy
4
Q 1
I 1 4 2
Q 3
Q 1
I 2 2 -1
Q 3
E
Sample Output
Copy
4
1
0
3
Views of the track before and after each reconfiguration. The
axis denotes the rail number. The
axis and
the numbers over points denote elevation. The numbers over segments denote elevation changes.
Comments
Isn't this supposed to be problem 3 and Mean Sequence is supposed to be problem 2?
just saying this problem isnt even worth an attempt in python3 or pypy3
The problem is solvable in Python 3: https://dmoj.ca/problem/ioi05p2/rank/?language=PY3
intersting i will look more into it