Algorithm/SWEA
4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스
지나온
2022. 10. 5. 22:28
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}')
최대로 갈 수 있는 수에서 줄여나간다.