let N = Int(readLine()!)!
let k = Int(readLine()!)!
var start = 1
var end = k
var answer = 0
while start <= end {
let mid = (start + end) / 2
var count = 0
for i in 1...N {
count += min(N, mid / i)
}
if count < k {
start = mid + 1
} else {
answer = mid
end = mid - 1
}
}
print(answer)
B[k] = x
일 때 k는 x보다 작거나 같은 원소의 최소 개수이다. → 이진탐색을 사용해서 풀 수 있다.