전형적인 투포인터 문제
0 ≤ M ≤ 2,000,000,000
M의 값을 int(1e9*2)로 초기화해줘야 한다.
int(1e9)로 초기화해서 값이 작아서 자꾸 에러가 났다.
import sys
input=sys.stdin.readline
n,m=map(int,input().split())
num=[]
for i in range(n):
num.append(int(input()))
num.sort()
start,end=0,0
result=0
answer=int(1e9*2)
while 0<=start and start<=end and end<n:
result=num[end]-num[start]
if result>=m:
answer=min(answer,result)
start+=1
else: end+=1
print(answer)