Решение
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().toLong()
val m = reader.readLine().toLong()
val t = reader.readLine().toLong()
var left = 0L
var right = minOf(n, m) / 2
while (left < right) {
val mid = (left + right + 1) / 2
val borderTiles = 2 * mid * (n + m - 2 * mid)
if (borderTiles <= t) left = mid else right = mid - 1
}
writer.write(left.toString())
writer.newLine()
writer.flush()
writer.close()
}