結果

問題 No.1060 素敵な宝箱
コンテスト
ユーザー yudedako
提出日時 2020-08-27 10:28:59
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 563 ms / 2,000 ms
コード長 710 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 11,960 ms
コンパイル使用メモリ 490,616 KB
実行使用メモリ 91,472 KB
最終ジャッジ日時 2026-05-07 23:05:38
合計ジャッジ時間 26,582 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 24
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.kt:5:44: warning: 'fun <T> Array<out T>.sumBy(selector: (T) -> Int): Int' is deprecated. Use sumOf instead.
    val gemSum = (0 until m).map{j -> gems.sumBy{it[j]}}
                                           ^^^^^

ソースコード

diff #
raw source code

fun main() {
    val (n, m) = readLine()!!.trim().split(' ').map(String::toInt)
    val gems = Array(n){readLine()!!.trim().split(' ').map(String::toInt)}
    val gemSum = (0 until m).map{j -> gems.sumBy{it[j]}}
    gems.sortByDescending{it.zip(gemSum).map{(a, b) -> a.toLong() * b}.sum()}
    val myScore = LongArray(m){0L}
    val enjapma = LongArray(m){0L}
    for (i in 0 until n) {
        when (i and 1) {
            0 -> for (j in 0 until m) {
                myScore[j] += gems[i][j].toLong()
            }
            else -> for (j in 0 until m) {
                enjapma[j] += gems[i][j].toLong()
            }
        }
    }
    println(myScore.map{it * it}.sum() - enjapma.map{it * it}.sum())
}
0