Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private fun readln() = readLine()!!
- private fun readlnByte() = readln().toByte()
- private fun readlnShort() = readln().toShort()
- private fun readlnInt() = readln().toInt()
- private fun readlnLong() = readln().toLong()
- private fun readlnFloat() = readln().toFloat()
- private fun readlnDouble() = readln().toDouble()
- private fun readlnBigInt(radix: Int = 10) = readln().toBigInteger(radix)
- private fun readlnBigDecimal() = readln().toBigDecimal()
- private fun lineSequence(limit: Int = Int.MAX_VALUE) = generateSequence { readLine() }.constrainOnce().take(limit)
- private fun readlnStrings() = readln().split(' ')
- private fun readlnBytes() = readlnStrings().map { it.toByte() }
- private fun readlnShorts() = readlnStrings().map { it.toShort() }
- private fun readlnInts() = readlnStrings().map { it.toInt() }
- private fun readlnLongs() = readlnStrings().map { it.toLong() }
- private fun readlnFloats() = readlnStrings().map { it.toFloat() }
- private fun readlnDoubles() = readlnStrings().map { it.toDouble() }
- private fun readByteArray() = readlnStrings().run { ByteArray(size) { get(it).toByte() } }
- private fun readShortArray() = readlnStrings().run { ShortArray(size) { get(it).toShort() } }
- private fun readIntArray() = readlnStrings().run { IntArray(size) { get(it).toInt() } }
- private fun readLongArray() = readlnStrings().run { LongArray(size) { get(it).toLong() } }
- private fun readFloatArray() = readlnStrings().run { FloatArray(size) { get(it).toFloat() } }
- private fun readDoubleArray() = readlnStrings().run { DoubleArray(size) { get(it).toDouble() } }
- private fun readlnByteArray(n: Int) = ByteArray(n) { readlnByte() }
- private fun readlnShortArray(n: Int) = ShortArray(n) { readlnShort() }
- private fun readlnIntArray(n: Int) = IntArray(n) { readlnInt() }
- private fun readlnLongArray(n: Int) = LongArray(n) { readlnLong() }
- private fun readlnFloatArray(n: Int) = FloatArray(n) { readlnFloat() }
- private fun readlnDoubleArray(n: Int) = DoubleArray(n) { readlnDouble() }
- private fun readByteArray2d(rows: Int, cols: Int) = Array(rows) { readByteArray().also { require(it.size == cols) } }
- private fun readShortArray2d(rows: Int, cols: Int) = Array(rows) { readShortArray().also { require(it.size == cols) } }
- private fun readLongArray2d(rows: Int, cols: Int) = Array(rows) { readLongArray().also { require(it.size == cols) } }
- private fun readIntArray2d(rows: Int, cols: Int) = Array(rows) { readIntArray().also { require(it.size == cols) } }
- private fun readFloatArray2d(rows: Int, cols: Int) = Array(rows) { readFloatArray().also { require(it.size == cols) } }
- private fun readDoubleArray2d(rows: Int, cols: Int) = Array(rows) { readDoubleArray().also { require(it.size == cols) } }
- private fun isWhiteSpace(c: Char) = c in " \r\n\t"
- // JVM-only targeting code follows next
- // readString() via sequence is still slightly faster than Scanner
- private fun readString() = generateSequence { System.`in`.read().toChar() }
- .dropWhile { isWhiteSpace(it) }.takeWhile { !isWhiteSpace(it) }.joinToString("")
- private fun readByte() = readString().toByte()
- private fun readShort() = readString().toShort()
- private fun readInt() = readString().toInt()
- private fun readLong() = readString().toLong()
- private fun readFloat() = readString().toFloat()
- private fun readDouble() = readString().toDouble()
- private fun readBigInt(radix: Int = 10) = readString().toBigInteger(radix)
- private fun readBigDecimal() = readString().toBigDecimal()
- private fun readBytes(n: Int) = generateSequence { readByte() }.take(n)
- private fun readShorts(n: Int) = generateSequence { readShort() }.take(n)
- private fun readInts(n: Int) = generateSequence { readInt() }.take(n)
- private fun readLongs(n: Int) = generateSequence { readLong() }.take(n)
- private fun readFloats(n: Int) = generateSequence { readFloat() }.take(n)
- private fun readDoubles(n: Int) = generateSequence { readDouble() }.take(n)
- fun main() {
- val n : Int = readlnInt()
- val ar : IntArray = readIntArray()
- ar.reverse()
- val ss = mutableSetOf<Int>()
- val nr : MutableList<Int> = ArrayList()
- for (it in ar) {
- if (!ss.contains(it)) {
- ss.add(it)
- nr.add(it)
- }
- }
- println(nr.count())
- nr.reverse()
- for (it in nr) {
- print(it.toString() + " ")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement