https://coderun.yandex.ru/problem/queue-with-error-protection/description Легкая

Решение

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

fun main() {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))

    val queue = ArrayDeque<Int>() // Очередь для хранения элементов

    while (true) {
        val command = reader.readLine().split(" ")
        when (command[0]) {
            "push" -> { // Добавляем элемент в очередь
                queue.addLast(command[1].toInt())
                writer.write("ok\\n")
            }
            "pop" -> {
                // Удаляем первый элемент или выводим ошибку
                if (queue.isEmpty()) writer.write("error\\n")
                else writer.write("${queue.removeFirst()}\\n")
            }
            "front" -> {
                // Выводим первый элемент или ошибку, если очередь пуста
                if (queue.isEmpty()) writer.write("error\\n")
                else writer.write("${queue.first()}\\n")
            }
            "size" -> writer.write("${queue.size}\\n") // Выводим размер очереди
            "clear" -> {
                queue.clear()
                writer.write("ok\\n")
            }
            "exit" -> {
                writer.write("bye\\n")
                break
            }
        }
    }

    reader.close()
    writer.close()
}