https://coderun.yandex.ru/problem/conveyor/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 t = reader.readLine().trim().toInt()
    
    repeat(t) {
        val tokens = reader.readLine().trim().split("\\\\s+".toRegex())
        val k = tokens[0].toInt()
        val containers = tokens.subList(1, 1 + k).map { it.toDouble() }
        val sorted = containers.sorted()
        
        val stack = ArrayDeque<Double>()
        var expectedIndex = 0
        
        for (container in containers) {
            stack.addLast(container)
            while (stack.isNotEmpty() && stack.last() == sorted[expectedIndex]) {
                stack.removeLast()
                expectedIndex++
                if (expectedIndex == k) break
            }
            if (expectedIndex == k) break
        }
        
        writer.write(if (expectedIndex == k) "1" else "0")
        writer.newLine()
    }
    
    writer.flush()
    writer.close()
    reader.close()
}