Submission #1545977


Source Code Expand

fun main(args: Array<String>) {
    val a = readLine()!!.map { it == '1' }.toBooleanArray()
    val b = readLine()!!.map { it == '1' }.toBooleanArray()
    fun f(i: Int) = (i + a.size) % a.size
    if (b.all { !it }) {
        println(-1)
        return
    }
    val left = IntArray(a.size)
    val right = IntArray(a.size)
    var t = b.lastIndexOf(true)
    for (i in left.indices) {
        left[i] = if (b[i]) 0 else t + 1
        t = left[i]
    }
    t = b.indexOf(true)
    for (i in right.indices.reversed()) {
        right[i] = if (b[i]) 0 else t + 1
        t = right[i]
    }
    var res = a.size * 5
    for (sh in -a.size..a.size) {
        val flip = a.indices
                .filter { a[it] != b[f(it + sh)] }
                .map {
                    Pair(
                        Math.min(left[it], Math.max(left[it] + sh, 0)),
                        Math.min(right[it], Math.max(right[it] - sh, 0))
                    )
                }
                .toTypedArray()
                .sortedBy { -it.first }
        var shifts = 0
        if (!flip.isEmpty()) {
            shifts = flip[0].first
            var tRight = flip[0].second
            for ((pLeft, pRight) in flip.drop(1)) {
                shifts = Math.min(shifts, tRight + pLeft)
                tRight = Math.max(tRight, pRight)
            }
        }
        res = Math.min(res, shifts + flip.size + Math.abs(sh))
    }
    println(res)
}

Submission Info

Submission Time
Task D - Shift and Flip
User AlexeyEnkov
Language Kotlin (1.0.0)
Score 0
Code Size 1480 Byte
Status WA
Exec Time 1625 ms
Memory 121824 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1000
Status
AC × 4
AC × 21
WA × 33
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt
Case Name Status Exec Time Memory
sample_01.txt AC 230 ms 38348 KB
sample_02.txt AC 204 ms 29764 KB
sample_03.txt AC 231 ms 34244 KB
sample_04.txt AC 230 ms 32396 KB
subtask_1_01.txt WA 203 ms 31772 KB
subtask_1_02.txt AC 230 ms 36200 KB
subtask_1_03.txt AC 229 ms 38252 KB
subtask_1_04.txt WA 208 ms 31732 KB
subtask_1_05.txt AC 806 ms 116556 KB
subtask_1_06.txt AC 208 ms 31860 KB
subtask_1_07.txt AC 354 ms 68144 KB
subtask_1_08.txt AC 208 ms 31488 KB
subtask_1_09.txt AC 231 ms 36288 KB
subtask_1_10.txt AC 284 ms 36252 KB
subtask_1_11.txt WA 1505 ms 111236 KB
subtask_1_12.txt AC 1403 ms 110248 KB
subtask_1_13.txt AC 1460 ms 111732 KB
subtask_1_14.txt WA 771 ms 119708 KB
subtask_1_15.txt WA 1231 ms 120488 KB
subtask_1_16.txt WA 1379 ms 121200 KB
subtask_1_17.txt WA 1401 ms 118244 KB
subtask_1_18.txt WA 1521 ms 121284 KB
subtask_1_19.txt WA 1566 ms 121824 KB
subtask_1_20.txt WA 1625 ms 112620 KB
subtask_1_21.txt WA 886 ms 119744 KB
subtask_1_22.txt WA 767 ms 117472 KB
subtask_1_23.txt AC 909 ms 120732 KB
subtask_1_24.txt AC 896 ms 116916 KB
subtask_1_25.txt AC 892 ms 118504 KB
subtask_1_26.txt WA 283 ms 36288 KB
subtask_1_27.txt WA 364 ms 40464 KB
subtask_1_28.txt WA 479 ms 41636 KB
subtask_1_29.txt WA 877 ms 53760 KB
subtask_1_30.txt WA 1274 ms 114580 KB
subtask_1_31.txt WA 230 ms 34512 KB
subtask_1_32.txt WA 284 ms 36296 KB
subtask_1_33.txt WA 386 ms 42356 KB
subtask_1_34.txt WA 565 ms 45724 KB
subtask_1_35.txt WA 933 ms 55504 KB
subtask_1_36.txt WA 1249 ms 119956 KB
subtask_1_37.txt WA 285 ms 36256 KB
subtask_1_38.txt WA 373 ms 41216 KB
subtask_1_39.txt WA 685 ms 44576 KB
subtask_1_40.txt WA 951 ms 56004 KB
subtask_1_41.txt WA 1384 ms 109660 KB
subtask_1_42.txt WA 1386 ms 109904 KB
subtask_1_43.txt WA 1338 ms 120292 KB
subtask_1_44.txt WA 1360 ms 121796 KB
subtask_1_45.txt WA 1404 ms 121624 KB
subtask_1_46.txt WA 1336 ms 113808 KB