結果

問題 No.246 質問と回答
ユーザー javyjavy
提出日時 2015-12-07 05:18:39
言語 Kotlin
(2.1.0)
結果
AC  
実行時間 340 ms / 2,000 ms
コード長 1,638 bytes
コンパイル時間 12,529 ms
コンパイル使用メモリ 430,292 KB
実行使用メモリ 71,116 KB
平均クエリ数 31.00
最終ジャッジ日時 2024-07-16 19:58:10
合計ジャッジ時間 24,561 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 30
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.kt:3:10: warning: parameter 'args' is never used
fun main(args: Array<String>) {
         ^

ソースコード

diff #

package Yukicoder

fun main(args: Array<String>) {
    fun readLineLongArray(): List<Long> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toLong() }
        return ret
    }

    fun readLineLong(): Long {
        val str = readLine() as String
        return str.toLong()
    }

    fun readLineInt(): Int {
        val str = readLine() as String
        return str.toInt()
    }

    fun readLineIntArray() : List<Int> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toInt() }
        return ret
    }

    fun readLineDoubleArray(): List<Double> {
        val str = readLine() as String
        val arrStr = str.split(" ")
        val ret = arrStr.map { it.toDouble() }
        return ret
    }

    fun readLineDouble() : Double {
        val str = readLine() as String
        return str.toDouble()
    }

    fun readLineString() : String {
        return readLine() as String
    }

//    fun readLineStringArray(): List<String> {
//        val str = readLine() as String
//        val arrStr = str.split(" ")
//        return arrStr
//    }

    var maxV : Long = 1000000000
//    var maxV : Long = 10
    var minV : Long = 1
    var bafD = (maxV + minV).toDouble() / 2
    var baf = bafD.toLong()
    while (maxV != minV) {
        println("? "  + (minV + baf))
        val outou = readLineInt()
        if (outou == 1) {
            minV = minV + baf
        } else {
            maxV = minV + baf - 1
        }
        bafD /= 2
        baf = Math.ceil(bafD).toLong()
    }
    println("! " + minV)
}
0