In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
The train stations in Upper Bytown and Lower Bytown are connected with a single track rail link. It takes the train minutes to travel between them in either direction. However, the trains departing a station have to be spaced at least one minute apart. Moreover, at all times, all the trains on the rail link have to go in the same direction.
According to the timetable at our disposal, cargo trains destined for Lower Bytown are to pass through the Upper Bytown. They are to be loaded with goods in Lower Bytown and then return to Upper Bytown. For simplicity, we assume that loading the goods on the train takes virtually no time.
We are to determine the minimum possible time of the last train returning to Upper Bytown.
The first line of the standard input contains two integers , (, ), separated by a single space, that specify the number of trains and the one-way travel time respectively. The second line contains integers (), separated by a single space, that specify the arrival times of successive trains at the Upper Bytown station.
In test worth of the total score, holds. Moreover, in their subset worth of the total score, holds in addition.
Your program should print out a single line with a single integer to the standard output: the minimum possible time of the last train returning to Upper Bytown.
For the input data:
3 4 1 8 11
the correct result is:
20
Explanation: To attain the minimum time, the trains can depart from Upper Bytown at times , , and , and from Lower Bytown at times , , and .
Sample grading tests:
Task author: Michal Wlodarczyk.
<Submit a solution> [0/100]