Решение
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
// Вычисление итоговой оценки
fun calculateFinalGrade(s: String): Char {
val grades = s.map { 'Z' - it + 1 } // Преобразование букв в числовые значения (A=26, Z=1)
val avg = grades.sum().toDouble() / grades.size // Среднее арифметическое
val rawGrade = 'Z' - (avg + 0.5).toInt() + 1 // Округление в пользу ученика
val minGrade = s.maxOrNull()!! - 1 // Худшая оценка + 1 (ограничение)
return maxOf(rawGrade, minGrade) // Выбор итоговой оценки с учетом ограничения
}
fun main(args: Array<String>) {
val reader = BufferedReader(InputStreamReader(System.`in`))
val writer = BufferedWriter(OutputStreamWriter(System.out))
val s = reader.readLine() // Чтение строки с оценками
val result = calculateFinalGrade(s) // Вычисление итоговой оценки
writer.write(result.toString()) // Вывод результата
writer.newLine()
reader.close()
writer.close()
}