Решение
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 = reader.readLine().toInt() // Читаем количество наклеек у Диего
// Читаем наклейки Диего, удаляя дубликаты и сортируя
val diegoStickers = if (n > 0) reader.readLine().split(" ").map { it.toInt() }.toSortedSet().toList() else emptyList()
val k = reader.readLine().toInt() // Читаем количество запросов
// Читаем запросы коллекционеров
val collectors = if (k > 0) reader.readLine().split(" ").map { it.toInt() } else emptyList()
// Для каждого запроса выполняем бинарный поиск
for (pi in collectors) {
val index = diegoStickers.binarySearch(pi).let { if (it < 0) -it - 1 else it } // Находим количество уникальных наклеек, меньших pi
writer.write("$index\\n")
}
reader.close()
writer.flush()
writer.close()
}