結果

問題 No.365 ジェンガソート
ユーザー zeronosu77108zeronosu77108
提出日時 2021-02-10 19:15:07
言語 Kotlin
(1.9.23)
結果
WA  
実行時間 -
コード長 709 bytes
コンパイル時間 11,857 ms
コンパイル使用メモリ 443,424 KB
実行使用メモリ 71,148 KB
最終ジャッジ日時 2024-07-08 06:01:44
合計ジャッジ時間 27,009 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 265 ms
51,640 KB
testcase_01 AC 266 ms
51,904 KB
testcase_02 AC 265 ms
51,716 KB
testcase_03 AC 262 ms
51,612 KB
testcase_04 AC 267 ms
51,548 KB
testcase_05 AC 269 ms
51,920 KB
testcase_06 AC 267 ms
51,804 KB
testcase_07 AC 270 ms
51,824 KB
testcase_08 WA -
testcase_09 WA -
testcase_10 WA -
testcase_11 WA -
testcase_12 WA -
testcase_13 WA -
testcase_14 AC 266 ms
51,784 KB
testcase_15 AC 272 ms
53,584 KB
testcase_16 WA -
testcase_17 WA -
testcase_18 AC 357 ms
53,564 KB
testcase_19 AC 460 ms
69,688 KB
testcase_20 AC 437 ms
59,012 KB
testcase_21 WA -
testcase_22 WA -
testcase_23 WA -
testcase_24 WA -
testcase_25 WA -
testcase_26 WA -
testcase_27 WA -
testcase_28 WA -
testcase_29 WA -
testcase_30 WA -
testcase_31 WA -
testcase_32 WA -
testcase_33 WA -
testcase_34 WA -
testcase_35 WA -
testcase_36 AC 446 ms
71,096 KB
testcase_37 AC 453 ms
70,964 KB
testcase_38 WA -
testcase_39 AC 456 ms
70,780 KB
testcase_40 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

fun main() {
    val n = readLine()!!.toInt()
    val a = readLine()!!.split(" ").map { it.toInt() }

    val bit = Bit(n+1)
    var ans = 0
    for ((i, ai) in a.withIndex()) {
        if (i - bit.sum(ai) > 0) ans++
        bit.add(ai)
    }
    println(ans)
}

data class Bit(private val n : Int) {
    private val bit = Array(n+1) { 0 }

    fun add(i : Int) {
        var index = i + 1
        while (index <= n) {
            bit[index] += 1
            index += index and -index
        }
    }

    fun sum(i : Int): Int {
        var res = 0
        var index = i + 1
        while (index > 0) {
            res += bit[index]
            index -= index and -index
        }
        return res
    }
}
0