Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val (n, k) = reader.readLine().split(" ").map(String::toInt)
val lengths = LongArray(n) { reader.readLine().toLong() }
var left = 1L
var right = lengths.maxOrNull() ?: 0L
while (left <= right) {
val mid = (left + right) / 2
val count = lengths.sumOf { it / mid }
if (count >= k) left = mid + 1
else right = mid - 1
}
writer.write(right.toString())
writer.newLine()
writer.flush()
writer.close()
}