結果

問題 No.1083 余りの余り
コンテスト
ユーザー yudedako
提出日時 2020-08-27 12:00:22
言語 Kotlin
(2.4.10 + ACL)
コンパイル:
kotlinc -cp /opt/aclib/ac_library.jar _filename_ -include-runtime -d main.jar
実行:
java -cp main.jar:/opt/aclib/ac_library.jar _class_
結果
AC  
実行時間 120 ms / 3,000 ms
+ 373µs
コード長 545 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 7,632 ms
コンパイル使用メモリ 506,824 KB
実行使用メモリ 49,364 KB
最終ジャッジ日時 2026-09-20 16:43:04
合計ジャッジ時間 13,574 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge4_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

import kotlin.math.max


fun calMax(m: Int, current: Int, currentMax: Int, mods: IntArray): Int {
    if (m == mods.lastIndex) {
        return max(currentMax, current % mods.last())
    }
    if (current < currentMax) return currentMax
    return calMax(m + 1, current, calMax(m + 1, current % mods[m], currentMax, mods), mods)
}

fun main() {
    val (n, k) = readLine()!!.trim().split(' ').map(String::toInt)
    val mods = readLine()!!.trim().split(' ').map(String::toInt).sortedDescending().toIntArray()
    println(calMax(0, k, 0, mods))
}
0