Решение
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()
}