Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
// Функция вычисления неудовлетворённости пёсика
private fun dissatisfaction(neck: Int, collar: Int): Int {
return when {
collar < neck -> 0 // Ошейник меньше шеи, можно не носить
collar - neck <= 100 -> (collar - neck) / 2 // Разница не более 100, частично неудобно
else -> 30 // Ошейник слишком большой, максимальная неудовлетворённость
}
}
fun main() {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val n = reader.readLine().toInt() // Количество пёсиков и ошейников
val neckSizes = reader.readLine().split(" ").map { it.toInt() } // Радиусы шей
val collarSizes = reader.readLine().split(" ").map { it.toInt() } // Радиусы ошейников
var minDissatisfaction = Int.MAX_VALUE
var bestStart = 0
// Перебираем все возможные стартовые дома
for (start in 0 until n) {
var totalDissatisfaction = 0
for (i in 0 until n) {
val index = (start + i) % n
totalDissatisfaction += dissatisfaction(neckSizes[index], collarSizes[i])
}
if (totalDissatisfaction < minDissatisfaction) {
minDissatisfaction = totalDissatisfaction
bestStart = start
}
}
writer.write("${bestStart + 1} $minDissatisfaction")
writer.newLine()
writer.flush()
reader.close()
writer.close()
}