結果
問題 | No.78 クジ付きアイスバー |
ユーザー |
|
提出日時 | 2015-11-28 09:43:27 |
言語 | Kotlin (2.1.0) |
結果 |
AC
|
実行時間 | 302 ms / 5,000 ms |
コード長 | 1,992 bytes |
コンパイル時間 | 12,025 ms |
コンパイル使用メモリ | 442,472 KB |
実行使用メモリ | 57,028 KB |
最終ジャッジ日時 | 2024-11-20 06:17:42 |
合計ジャッジ時間 | 25,288 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 35 |
コンパイルメッセージ
Main.kt:6:10: warning: parameter 'args' is never used fun main(args: Array<String>) { ^
ソースコード
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() } val input = readLineIntArray() val num = input[0] val iceArray = (readLine() as String).toCharArray().map { it.toString().toInt() } var sum = 0 for (item in iceArray) { sum += item } sum -= num var needIce = input[1] var buyIce = 0 var moreIce = 0 for (i in 0..Int.MAX_VALUE) { if (moreIce == 0) { buyIce++ } else { moreIce-- } moreIce += iceArray[i%num] needIce-- if (needIce <= 0) break if (i >= num) { if (sum >= 0) { break } else { if (((needIce / num) - 2) > 0) { // println(((needIce / num) - 2)) buyIce += ((needIce / num) - 2) * (-sum) needIce -= ((needIce / num) - 2) * num } } } // println("\t" + needIce) if (needIce <= 0) break } println(buyIce) // println(sum) }