結果

問題 No.164 ちっちゃくないよ!!
コンテスト
ユーザー javy
提出日時 2015-11-28 10:38:56
言語 Kotlin
(2.3.20)
コンパイル:
kotlinc _filename_ -include-runtime -d main.jar
実行:
kotlin main.jar
結果
AC  
実行時間 204 ms / 2,000 ms
コード長 1,798 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 9,121 ms
コンパイル使用メモリ 473,408 KB
実行使用メモリ 52,784 KB
最終ジャッジ日時 2026-05-14 06:37:11
合計ジャッジ時間 12,603 ms
ジャッジサーバーID
(参考情報)
judge2_1 / judge1_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 11
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

package Yukicoder

/**
 * Created by hichikawa on 2015/11/12.
 */
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 calcNsinsu(str :  String) : Int {
        val strList = "ZYXWVUTSRQPONMLKJIHGFEDCBA9876543210"
        for ((i, ch) in strList.withIndex()) {
            if (str.indexOf(ch) != -1) {
                return (36-i)
            }
        }
        return -1
    }

    fun calcNum (str: String , shinsu : Int) : Long {
        val strList = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
        var ret : Long = 0
        for (ch in str) {
            ret *= shinsu
            ret += strList.indexOf(ch)
        }
        return ret
    }

    val num = readLineInt()
    var minValue = Long.MAX_VALUE
    for (i in 1..num) {
        val tmpS = readLine() as String
        val tmp = calcNum(tmpS, calcNsinsu(tmpS))
        if (minValue > tmp) {
            minValue = tmp
        }
    }
    println(minValue)


}
0