結果

問題 No.378 名声値を稼ごう
コンテスト
ユーザー nobigomu
提出日時 2018-06-04 12:12:15
言語 Kotlin
(2.3.10)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 173 ms / 2,000 ms
コード長 397 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 8,001 ms
コンパイル使用メモリ 426,668 KB
実行使用メモリ 56,144 KB
最終ジャッジ日時 2026-03-20 06:12:34
合計ジャッジ時間 9,607 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 5
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

fun readLong(): Long = readLine()!!.toLong()
fun max(a: Long, b: Long): Long = if (a>b) a else b
fun abs(a: Long): Long = if (a<0) -a else a
fun f(a: Long): Long = a/2L
fun g(a: Long): Long = 2L*f(a)+a
tailrec fun h(a: Long, b: Long, c: Long): Long =
    if (a > 0) h(f(a), b+f(a), max(c,g(a))) else abs(c-b)
fun main(args: Array<String>) {
    val n: Long = readLong()
    println(h(n,n,2L*n))
}
0