T=int(input())
for tc in range(1,T+1):
k,n,m=map(int,input().split())
#k:한번 충전으로 최대 이동할 수 있는 정류장 수
#n: 0 번부터 n번정류장까지 이동
#m:충전기가 설치된 정류장 개수
charge=list(map(int,input().split()))
#charge:충전기 설치된 정류장번호
#충전기 있으면 1 없으면 0
stop=[0]*(n+1)
for c in charge:
stop[c]=1
cnt=0
now=0 #시작
while now < n-k: #n-k까지만 가면 끝이니까
for i in range(now+k,now,-1):
if stop[i]:
cnt+=1
now=i
break
else: #도착할 수 없는 경우
cnt=0
break
print(f'#{tc} {cnt}')
최대로 갈 수 있는 수에서 줄여나간다.
'Algorithm > SWEA' 카테고리의 다른 글
4843. [파이썬 S/W 문제해결 기본] 2일차 - 특별한 정렬 (0) | 2022.10.08 |
---|---|
4837. [파이썬 S/W 문제해결 기본] 2일차 - 부분집합의 합 (0) | 2022.10.05 |
파이썬, 자바 : SWEA 1946. 간단한 압축 풀기 (0) | 2022.07.05 |
파이썬, 자바 : SWEA 1989. 초심자의 회문 검사 (0) | 2022.07.05 |
파이썬, 자바 : SWEA 2058. 자릿수 더하기 (list, for) (0) | 2022.07.05 |