PivotOJ

Flip Flow

시간 제한: 1000ms메모리 제한: 512MB출처: GCPC 2020BOJ 20906

문제

For over 600 years, the hourglass has been a well-known timekeeping instrument. An hourglass consists of two glass flasks arranged one above the other which are connected by a narrow channel. Inside the hourglass there is sand which slowly flows from the upper to the lower flask. Hourglasses are typically symmetrical so that the sand always takes the same amount of time to run through, regardless of orientation. For the purposes of this problem, we also assume that the flow rate of the sand is a known constant and does not depend on the amount or distribution of sand in the upper half.

Your friend Helen was bored and has been playing around with her hourglass. At time 00, all the sand was in the lower half. Helen flipped the hourglass over several times and recorded all the moments at which she did so. How many seconds does she need to wait from the current time until all the sand is back in the lower half?

입력

The input consists of:

  • One line with three integers tt, ss and nn, where
  • tt (1t1061 \le t \le 10^6) is the current time;
  • ss (1s1061 \le s \le 10^6) is the amount of sand in the hourglass, in grams;
  • nn (1n10001 \le n \le 1\,000) is the number of times the hourglass was flipped.
  • One line with nn integers a1,,ana_1,\dots,a_n (0<a1<<an<t0 < a_1 < \dots < a_n < t), the times at which the hourglass was flipped.

All times are given in seconds. You may assume that the sand flows from the top to the bottom at a constant rate of 11 gram per second.

출력

Output the time in seconds needed for the hourglass to run out starting from time tt.

예제

예제 1

입력
10 7 2
4 9
출력
4

예제 2

입력
2000 333 3
1000 1250 1500
출력
0

예제 3

입력
100 10 5
15 20 93 96 97
출력
5
코드를 제출하려면 로그인하세요.