페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#2485

[고등부] 2025 KOI 1차대회 대비 모의고사 (1주차)

헤어스타일이 비슷한 고슴도치
서브태스크
5초 1024MB

문제

N 마리의 고슴도치들이 왼쪽을 보고 한 줄로 서 있다. 각 고슴도치는 왼쪽에서 오른쪽으로 순서대로 1, 2, …, N 의 번호가 붙어 있다.

i 번 고슴도치의 가시의 수는 A_i 이다. i 번 고슴도치와 j 번 고슴도치 사이의 거리는 |i - j| 이다.

모든 i에 대하여, 가시의 수가 A_i - K 이상 A_i 이하인 고슴도치들 중에서, i 번 고슴도치의 오른쪽에 위치하지 않은 (즉, 자신과 왼쪽에 위치한) 고슴도치들 중 가장 멀리 있는 고슴도치를 찾고, 그 고슴도치와의 거리를 모두 합한 값을 출력하라. (i 번 고슴도치는 자기 자신도 조건을 만족하기 때문에, 항상 적어도 한 마리의 고슴도치가 존재한다.)

참고로, 고슴도치들은 가시의 수가 비슷하면 헤어스타일이 비슷하다고 여겨 친밀감을 느낀다.


입력

파일의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T 가 주어지고,이후 차례로 T 개의 테스트 케이스가 주어진다. (1 \le T \le 31)

각 테스트 케이스의 첫 줄에는 정수 N, K 가 주어진다. (1 \le N \le 200\,000, 0 \le K \le 500\,000)

다음 줄에는 N 개의 정수 A_1, \ldots, A_N 이 주어진다. (0 \le A_i \le 500\,000)

모든 테스트 케이스들에 대한 N 의 합은 2\,000\,000 이하이다.


출력

각 테스트 케이스마다 첫 줄에는 Case #C 를 출력하여야 한다. 이때 C는 테스트 케이스의 번호이다.

다음 줄에는 문제의 정답을 출력한다.


부분문제

번호 점수 조건
#120점

N \le 1000

#230점

T=1

#325점

A[i] \le 100 (1 \le i \le N)

#425점

추가 제약 조건 없음


예제

2
3 1
1 2 3
9 3
5 1 3 5 8 6 6 9 10
Case #1
2
Case #2
26
로그인해야 코드를 작성할 수 있어요.