Woburn Challenge 2018-19 Round 4 - Senior Division
Billy has been having a great time playing a demo of Nintendo's next highly-anticipated 3D platforming game, Super Luigi Odyssey.
One challenge in the game sees Luigi trapped in a long hallway, which
can be represented as a number line with positions increasing towards
the rightwards direction. There are
platforms in it, with the
-th one at position
and at a height of
metres. No two platforms are at the same position. Luigi begins on
platform
(note that this is not necessarily the leftmost platform).
Much to Luigi's concern, the hallway is filled with some deadly lava.
Initially, the lava reaches up to a height of metres. At any point,
a platform is considered to be submerged in lava if the lava's height
exceeds the platform's height.
A sequence of
events will then occur, each
having one of three possible types. The type of the
-th event is
described by the integer
.
- If
, then the lava's height will increase by
metres. It's guaranteed that this will not cause the lava's height to become negative. If this causes Luigi's current platform to become submerged, then he will immediately perish.
- If
, then
lasers in a row will be fired at Luigi. Each laser will force him to jump to the next non-submerged platform to the left of his current one. If there's no such platform, then he'll instead be forced to jump into the lava and perish.
- If
, then similarly
lasers in a row will be fired at Luigi, with each one forcing him to jump to the next non-submerged platform (if any) to the right rather than the left.
Luigi is not allowed to move between platforms aside from being forced
to by type- or type-
events.
Even if Billy manages to keep Luigi alive through all events, he may
not be out of the woods yet — his success in later challenges will
depend on how much of Luigi's energy has been spent. Whenever Luigi
jumps from platform
to platform
, he expends
units of energy. Note that the amount of energy
required doesn't depend on the platforms' relative heights.
Help Billy determine how much energy Luigi will expend throughout all
events (if he will even survive that long). As this may amount to
quite a few units of energy, you only need to determine the total modulo
.
Subtasks
In test cases worth of the points,
,
,
and
.
In test cases worth another of the points,
.
Input Specification
The first line of input consists of three space-separated integers, ,
, and
.
lines follow, the
-th of which consists of two space-separated
integers,
and
, for
.
lines follow, the
-th of which consists of two space-separated
integers,
and
, for
.
Output Specification
Output a single integer, the total number of units of energy which Luigi
will expend (modulo ), or
-1
if he will be forced to touch
the lava and perish at any point.
Sample Input 1
5 7 1
4 4
5 5
13 6
0 8
10 8
3 1
1 4
2 1
1 -1
3 4
1 2
2 2
Sample Output 1
32
Sample Input 2
2 2 2
0 2
1 1
1 1
3 1
Sample Output 2
-1
Sample Explanation
In the first case, Luigi will be forced to jump along the following sequence of positions:
- Event 1:
- Event 3:
- Event 5:
- Event 7:
In total, these jumps require units of energy (which is equal to
modulo
). If
were equal to
rather than
, then
units of energy would be required instead.
In the second case, after the lava's height is raised to metres,
Luigi will have no non-submerged platform to jump to on his right, and
so will be forced to jump into the lava and perish.
Comments