You are given three integers n, s, and m.
A sequence seq of integers of length n is considered valid if:
seq[0] = s.seq[0] > seq[1] < seq[2] > ..., orseq[0] < seq[1] > seq[2] < ....|seq[i] - seq[i - 1]| <= m.A sequence of length 1 is considered alternating.
Return the maximum possible element that can appear in any valid sequence.
Example 1:
Input: n = 4, s = 3, m = 5
Output: 12
Explanation:
[3, 8, 7, 12].Example 2:
Input: n = 2, s = 4, m = 3
Output: 7
Explanation:
[4, 7].Constraints:
1 <= n, s <= 1091 <= m <= 105To make values grow as much as possible, use the maximum allowed increase m when moving to a high point.
Between two high points, there must be a lower element. To lose as little value as possible, make that lower element smaller by only 1.
Therefore, after the first high point, every two additional positions can increase the maximum reachable high value by m - 1.
Consider both possible alternating patterns: starting with a decrease and starting with an increase.
Handle n == 1 separately.
4 3 5
2 4 3