https://coderun.yandex.ru/problem/control-work/description Легкая

Решение

import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

// Функция для вычисления позиции ученика в общем порядке раздачи вариантов
fun getPosition(row: Int, place: Int): Int {
    return (row - 1) * 2 + if (place == 1) 0 else 1
}

fun main(args: Array<String>) {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))

    // Читаем входные данные
    val n = reader.readLine().toInt()
    val k = reader.readLine().toInt()
    val petyaRow = reader.readLine().toInt()
    val petyaPlace = reader.readLine().toInt()

    // Позиция Пети
    val petyaPos = getPosition(petyaRow, petyaPlace)
    val petyaVariant = petyaPos % k + 1

    // Вычисляем ближайшие позиции с тем же вариантом
    var vasyaPos = -1
    var vasyaRow = -1
    var vasyaPlace = -1
    var minDistance = Int.MAX_VALUE

    // Проверяем позицию после Пети
    val nextPos = petyaPos + k
    if (nextPos < n) {
        val row = nextPos / 2 + 1
        val place = if (nextPos % 2 == 0) 1 else 2
        val distance = kotlin.math.abs(row - petyaRow)
        if (distance < minDistance) {
            minDistance = distance
            vasyaPos = nextPos
            vasyaRow = row
            vasyaPlace = place
        }
    }

    // Проверяем позицию перед Петей
    val prevPos = petyaPos - k
    if (prevPos >= 0) {
        val row = prevPos / 2 + 1
        val place = if (prevPos % 2 == 0) 1 else 2
        val distance = kotlin.math.abs(row - petyaRow)
        if (distance < minDistance || (distance == minDistance && row > petyaRow)) {
            minDistance = distance
            vasyaPos = prevPos
            vasyaRow = row
            vasyaPlace = place
        }
    }

    // Вывод результата
    if (vasyaPos == -1) {
        writer.write("-1")
    } else {
        writer.write("$vasyaRow $vasyaPlace")
    }
    
    writer.flush()
    reader.close()
    writer.close()
}