다음 코드는 입력 수열에서 K 번째로 작은 값을 출력한다. 결과는 옳지만 N 이 커지면 시간 초과가 난다. 같은 결과를 시간 제한 안에서 출력하라. 입력 형식: 첫 줄 "N K", 둘째 줄 N 개의 정수. 1 ≤ K ≤ N.
n, k = map(int, input().split())
arr = list(map(int, input().split()))
sorted_arr = []
for x in arr:
inserted = False
for i in range(len(sorted_arr)):
if x < sorted_arr[i]:
sorted_arr.insert(i, x)
inserted = True
break
if not inserted:
sorted_arr.append(x)
print(sorted_arr[k-1])
1 ≤ N ≤ 10^5, 1 ≤ K ≤ N, -10^9 ≤ Ai ≤ 10^9
5 1 3 1 4 1 5
1
5 3 3 1 4 1 5
3
5 5 3 1 4 1 5
5