문제 AP: [2023 충북정올 본선(중등부) 4번] 고드름

문제 AP: [2023 충북정올 본선(중등부) 4번] 고드름

[만든사람 : ]
시간제한 : 1.000 sec  메모리제한 : 128 MB

제출문제리스트

문제 설명

충북이는 겨울방학을 맞아 할머니 댁에 찾아갔다. 겨울철 할머니 댁에는 처마에 긴 고드름이 자라는 특징이 있는데, 이번에도 N개의 고드름이 처마에 일렬로 맺혀있었다.
각 고드름은 왼쪽에서 오른쪽으로 하나씩 늘어서 있으며, 왼쪽에서 i번째 고드름은 현재 길이 ai를 가지고 있다. 이 1번부터 N번까지의 고드름은 시간에 따라 길이가 성장하는데, 성장 규칙은 다음과 같다.
i번째 고드름은 i-1번째 고드름과 i+1번째 고드름보다 길이가 긴 경우에만 1시간마다 길이가 1씩 늘어난다. (단, 1번 고드름은 2번보다 긴 경우에, N번 고드름은 N-1번 고드름보다 길 경우에 길이가 늘어난다)
모든 고드름은 길이가 M이 되는 순간 부러져서 길이가 0이 된다. 처음 처마에 있는 모든 고드름은 인접한 고드름들과 길이가 모두 다르다.
 
충북이는 충분한 시간이 흘러, 처마의 모든 고드름이 부러질 수 있는지 알고 싶다. 그리고 만약 모든 고드름이 부러질 수 있다면 얼마의 시간이 걸리는지 알고 싶어, 이를 여러분에게 부탁했다.

입력 설명

첫 줄에 정수 N, M이 공백을 사이에 두고 주어진다. N은 고드름의 수, M은 고드름이 부러지는 길이를 의미한다.
다음 N개의 줄 중 i번째 줄에는 정수 ai가 주어진다. 이는 왼쪽에서 i번째 고드름의 길이가 ai임을 의미한다.
초기 값으로 주어지는 고드름은 길이가 같은 값이 연속하여 존재하지 않는다. 

제한
  • 1 ≤ N ≤ 100,000
  • 2 ≤ M ≤ 50,000
  • 1 ≤ ai < M

출력 설명

모든 고드름이 부러지는데 걸리는 시간을 출력한다.
만약, 모든 고드름이 부러지는 것이 불가능하다면 –1을 출력한다.

입력 예시 Copy

4 7
1
3
2
5

출력 예시 Copy

10