다오의 경주 대회

시간 제한1초메모리 제한1024 MB

요약
각 트랙 길이를 최대 한 번 K만큼 늘릴 수 있을 때, 수열을 순증가로 만들기 위한 최소 시행 횟수를 구하고 불가능하면 -1을 출력한다.
난이도

보통10점 중 5점

유형
그리디, 구현
정답자
아직 제출이 없습니다

문제

경주 연습을 하는 다오

다오는 경주 대회를 열기 위해 NN개의 트랙을 준비했다. ii번째로 경주하는 트랙의 길이는 A_iA\_i이다.

관중들은 트랙의 길이가 점점 길어져야 경주가 재미있다고 생각한다. 즉, A_1\<A_2<⋯\<A_NA\_1\<A\_2<\cdots \<A\_N인 경우 경주가 재미있다고 생각한다. 이를 위해 다오는 다음과 같은 시행을 0회 이상 할 수 있다.

  • 1≤i≤N1\le i\le N인 ii를 고른 뒤, ii번째 트랙의 길이를 KK만큼 늘린다. 즉, A_iA\_i를 A_i+KA\_i+K로 바꾼다.
  • 위 시행은 각 ii에 대해 최대 한 번만 할 수 있다.

다오가 트랙의 길이를 점점 증가하도록 만들 수 있는지 판단하고, 만약 가능하다면 이를 위해 필요한 시행의 최소 횟수를 구하시오.

입력

첫째 줄에는 트랙의 수 NN과 트랙을 늘릴 수 있는 길이 KK가 띄어쓰기를 사이에 두고 정수로 주어진다.

둘째 줄에는 각 트랙의 길이를 나타내는 정수 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N이 띄어쓰기를 사이에 두고 주어진다.

출력

만약 다오가 트랙의 길이를 점점 증가하도록 만들 수 있다면, 이를 위해 필요한 최소 시행의 횟수를 출력하여라.

만약 다오가 트랙의 길이를 점점 증가하도록 만들 수 없다면, -1을 출력하여라.

제한

  • 1≤N≤1051\le N\le 10^5
  • 1≤K≤1091\le K\le 10^9
  • 0≤A_i≤1090\le A\_i\le 10^9

예제3

  1. 예제 1

    입력
    3 2
    4 3 4
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3 5
    7 5 5
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    6 5
    2 4 3 9 5 8
    
    예상 출력
    3