Submission #53670234
Source Code Expand
import MutableIntMap.Companion.mutableIntMapOf import java.io.* import java.util.* import kotlin.collections.* import kotlin.math.* val INPUT: InputStream = System.`in` val OUTPUT: PrintStream = System.out val _reader = INPUT.bufferedReader() var _tokenizer: StringTokenizer = StringTokenizer("") fun read(): String { while (!_tokenizer.hasMoreTokens()) { _tokenizer = StringTokenizer(_reader.readLine() ?: return "", " ") } return _tokenizer.nextToken() } fun readInt() = read().toInt() fun readDouble() = read().toDouble() fun readLong() = read().toLong() fun readStrings(n: Int) = List(n) { read() } fun readInts(n: Int) = List(n) { readInt() } fun readIntArray(n: Int) = IntArray(n) { readInt() } fun readDoubles(n: Int) = List(n) { readDouble() } fun readDoubleArray(n: Int) = DoubleArray(n) { readDouble() } fun readLongs(n: Int) = List(n) { readLong() } fun readLongArray(n: Int) = LongArray(n) { readLong() } val _writer = PrintWriter(OUTPUT, false) inline fun output(block: PrintWriter.() -> Unit) { _writer.apply(block).flush() } class MutableIntMap<K> : LinkedHashMap<K, Int>() { override operator fun get(key: K): Int = super.get(key) ?: 0 fun increment(key: K, value: Int = 1) { this[key] = this[key] + value } companion object { fun <K> mutableIntMapOf(vararg pairs: Pair<K, Int>) = MutableIntMap<K>().apply { putAll(pairs) } } } typealias Pii = Pair<Int, Int> fun readPii() = readInt() to readInt() fun readPiis(n: Int) = List(n) { readPii() } infix fun Int.hasBit(i: Int): Boolean = this and (1 shl i) > 0 infix fun Int.xorBit(i: Int): Int = this xor (1 shl i) infix fun Long.hasBit(i: Int): Boolean = this and (1L shl i) > 0 infix fun Long.xorBit(i: Int): Long = this xor (1L shl i) fun largerStackSize(stackSizeMegaBytes: Int = 100, action: () -> Unit) { Thread(null, action, "", 1024L * 1024 * stackSizeMegaBytes).apply { start() join() } } // ################################################################################################# fun solve() { val n = readInt() val m = readInt() val a = readInts(m) val isAllow = BooleanArray(n + 1) { true } for (i in a) isAllow[i] = false if (!isAllow[1] || !isAllow[n]) { println(-1) return } val ans = mutableListOf<Int>() var saved: Int? = null var next = 1 for (i in 1..n) { if (isAllow[i]) { if (saved != null) { ans += saved saved = null } else { ans += next++ } } else { if (saved == null) saved = next++ ans += next++ } } println(ans.joinToString(" ")) } fun main() { // repeat(readInt()) { solve() } solve() }
Submission Info
Submission Time | |
---|---|
Task | A - Good Permutation 2 |
User | wangchaohui |
Language | Kotlin (Kotlin/JVM 1.8.20) |
Score | 400 |
Code Size | 2904 Byte |
Status | AC |
Exec Time | 323 ms |
Memory | 70180 KiB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 400 / 400 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 01-sample-04.txt |
All | 01-sample-01.txt, 01-sample-02.txt, 01-sample-03.txt, 01-sample-04.txt, 02-min-01.txt, 03-two-three-01.txt, 03-two-three-02.txt, 03-two-three-03.txt, 03-two-three-04.txt, 03-two-three-05.txt, 03-two-three-06.txt, 03-two-three-07.txt, 03-two-three-08.txt, 03-two-three-09.txt, 03-two-three-10.txt, 04-large-rand-ok-01.txt, 04-large-rand-ok-02.txt, 04-large-rand-ok-03.txt, 04-large-rand-ok-04.txt, 04-large-rand-ok-05.txt, 05-large-rand-ng-01.txt, 05-large-rand-ng-02.txt, 05-large-rand-ng-03.txt, 05-large-rand-ng-04.txt, 05-large-rand-ng-05.txt, 06-large-rand-bias-01.txt, 06-large-rand-bias-02.txt, 06-large-rand-bias-03.txt, 06-large-rand-bias-04.txt, 06-large-rand-bias-05.txt, 06-large-rand-bias-06.txt, 06-large-rand-bias-07.txt, 06-large-rand-bias-08.txt, 06-large-rand-bias-09.txt, 06-large-rand-bias-10.txt, 06-large-rand-bias-11.txt, 06-large-rand-bias-12.txt, 06-large-rand-bias-13.txt, 06-large-rand-bias-14.txt, 06-large-rand-bias-15.txt, 06-large-rand-bias-16.txt, 06-large-rand-bias-17.txt, 06-large-rand-bias-18.txt, 06-large-rand-bias-19.txt, 06-large-rand-bias-20.txt, 07-large-rand-alternating-01.txt, 07-large-rand-alternating-02.txt, 07-large-rand-alternating-03.txt, 07-large-rand-alternating-04.txt, 07-large-rand-alternating-05.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-sample-01.txt | AC | 56 ms | 39788 KiB |
01-sample-02.txt | AC | 58 ms | 39860 KiB |
01-sample-03.txt | AC | 44 ms | 37744 KiB |
01-sample-04.txt | AC | 43 ms | 37844 KiB |
02-min-01.txt | AC | 43 ms | 37740 KiB |
03-two-three-01.txt | AC | 44 ms | 37736 KiB |
03-two-three-02.txt | AC | 44 ms | 37712 KiB |
03-two-three-03.txt | AC | 43 ms | 37592 KiB |
03-two-three-04.txt | AC | 44 ms | 37708 KiB |
03-two-three-05.txt | AC | 61 ms | 40104 KiB |
03-two-three-06.txt | AC | 43 ms | 37836 KiB |
03-two-three-07.txt | AC | 77 ms | 37820 KiB |
03-two-three-08.txt | AC | 43 ms | 37840 KiB |
03-two-three-09.txt | AC | 43 ms | 37796 KiB |
03-two-three-10.txt | AC | 43 ms | 37932 KiB |
04-large-rand-ok-01.txt | AC | 286 ms | 66736 KiB |
04-large-rand-ok-02.txt | AC | 267 ms | 67056 KiB |
04-large-rand-ok-03.txt | AC | 271 ms | 66636 KiB |
04-large-rand-ok-04.txt | AC | 280 ms | 67260 KiB |
04-large-rand-ok-05.txt | AC | 264 ms | 67348 KiB |
05-large-rand-ng-01.txt | AC | 164 ms | 49584 KiB |
05-large-rand-ng-02.txt | AC | 133 ms | 49532 KiB |
05-large-rand-ng-03.txt | AC | 148 ms | 48908 KiB |
05-large-rand-ng-04.txt | AC | 135 ms | 49536 KiB |
05-large-rand-ng-05.txt | AC | 134 ms | 49660 KiB |
06-large-rand-bias-01.txt | AC | 319 ms | 70180 KiB |
06-large-rand-bias-02.txt | AC | 320 ms | 68352 KiB |
06-large-rand-bias-03.txt | AC | 197 ms | 60436 KiB |
06-large-rand-bias-04.txt | AC | 190 ms | 60124 KiB |
06-large-rand-bias-05.txt | AC | 197 ms | 60536 KiB |
06-large-rand-bias-06.txt | AC | 322 ms | 69424 KiB |
06-large-rand-bias-07.txt | AC | 323 ms | 68464 KiB |
06-large-rand-bias-08.txt | AC | 201 ms | 60488 KiB |
06-large-rand-bias-09.txt | AC | 192 ms | 60556 KiB |
06-large-rand-bias-10.txt | AC | 189 ms | 59264 KiB |
06-large-rand-bias-11.txt | AC | 197 ms | 61652 KiB |
06-large-rand-bias-12.txt | AC | 204 ms | 61716 KiB |
06-large-rand-bias-13.txt | AC | 79 ms | 39688 KiB |
06-large-rand-bias-14.txt | AC | 77 ms | 39588 KiB |
06-large-rand-bias-15.txt | AC | 75 ms | 39656 KiB |
06-large-rand-bias-16.txt | AC | 176 ms | 63500 KiB |
06-large-rand-bias-17.txt | AC | 199 ms | 63352 KiB |
06-large-rand-bias-18.txt | AC | 53 ms | 38204 KiB |
06-large-rand-bias-19.txt | AC | 56 ms | 38420 KiB |
06-large-rand-bias-20.txt | AC | 53 ms | 38372 KiB |
07-large-rand-alternating-01.txt | AC | 255 ms | 66908 KiB |
07-large-rand-alternating-02.txt | AC | 269 ms | 67248 KiB |
07-large-rand-alternating-03.txt | AC | 315 ms | 67848 KiB |
07-large-rand-alternating-04.txt | AC | 276 ms | 67076 KiB |
07-large-rand-alternating-05.txt | AC | 276 ms | 62688 KiB |