중복

NYPC 2025 · Round 2-A

NN개의 항을 가진 수열 AA가 있다. 각 항에 11을 더하거나 빼는 연산을 수행할 수 있다. 같은 항에 연산을 여러 번 수행하는 것도 가능하다.

최소한의 연산으로 수열 AA에서 어떤 값 XXKK번 이상 등장하도록 만드는 프로그램을 작성하라. KK번 이상 등장하는 값이 22개 이상이어도 상관 없다.

입력 형식

첫 줄에 수열의 길이를 나타내는 정수 NN과 정수 KK가 주어진다. (1KN3000001 \le K \le N \le 300\,000)

그다음 줄에 수열의 NN개의 항의 초깃값이 공백으로 구분되어 차례대로 주어진다. 이 값은 모두 1000000000-1\,000\,000\,000 이상 10000000001\,000\,000\,000 이하의 정수다.

출력 형식

첫 줄에 최소 연산 횟수를 출력한다.

예제

입력

5 4 2 1 2 4 2

출력

1

예제 설명

첫 번째 예제에서, 한 번의 연산으로 수열의 두 번째 값을 22로 바꾸면, 수열은 [2,2,2,4,2][2, 2, 2, 4, 2]가 되어 2244번 등장하게 된다.

채점 방식

입력 케이스들은 다음과 같은 종류로 구별되며, 한 종류의 케이스를 다 맞혀야 그 종류에 배정된 점수를 받을 수 있다.

종류 1: 13

수열의 항의 초깃값은 모두 11 이상 100100 이하이다.

종류 2: 26

N3000N \le 3\,000

종류 3: 61

모든 입력 케이스가 주어진다.

해설