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
AC × 4
AC × 50
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