fork download
  1. import java.util.*
  2.  
  3. fun main(args: Array<String>) {
  4. val sc = Scanner(System.`in`)
  5. val n = sc.nextInt()
  6. val sb = StringBuilder()
  7. val stack = Stack<Int>()
  8. var current = 1
  9.  
  10. repeat(n) {
  11. val num = sc.nextInt()
  12. while (current <= n) {
  13. if (stack.isNotEmpty() && stack.peek() == num) {
  14. println("pop: $num")
  15. stack.pop()
  16. sb.append("-\n")
  17. break
  18. } else {
  19. println("push: $current")
  20. stack.push(current)
  21. sb.append("+\n")
  22. current++
  23. }
  24. }
  25. }
  26.  
  27. if (stack.isNotEmpty()) {
  28. println("NO")
  29. } else {
  30. println(sb)
  31. }
  32. }
Success #stdin #stdout 0.15s 41916KB
stdin
8
4
3
6
8
7
5
2
1
stdout
push: 1
push: 2
push: 3
push: 4
pop: 4
pop: 3
push: 5
push: 6
pop: 6
push: 7
push: 8
NO