Editorial for TLE '16 Contest 5 P3 - Flight Exam
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
First, we note that there are up to  significant points that Fax can visit: all 
 checkpoints, and all points that are 
 meters below a checkpoint. If 
 or the point has a negative altitude, we ignore the second point. For each point, we store the number of checkpoints Fax gains if he passes through this point. As such, each point will either have a value of 
 (checkpoint with nothing above, empty point with checkpoint above) or 
 (checkpoint with checkpoint above). For the 
 point, let this value be 
.
Next, we can use dynamic programming to compute the answer. For each point, we want to know the maximum number of checkpoints Fax could have passed through after going through the current point and performing a loop. For the  point, let this value be 
. We can see that 
 for all points 
 with a distance less than point 
 that can be reached by ascending or descending.
The answer is the maximal .
Time Complexity: 
Comments