結果
| 問題 |
No.78 クジ付きアイスバー
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-28 09:31:12 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,993 bytes |
| コンパイル時間 | 11,898 ms |
| コンパイル使用メモリ | 437,500 KB |
| 実行使用メモリ | 57,208 KB |
| 最終ジャッジ日時 | 2024-11-20 06:13:38 |
| 合計ジャッジ時間 | 24,257 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 25 WA * 10 |
コンパイルメッセージ
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 / (-sum)) - 2))
buyIce += ((needIce / (-sum)) - 2) * num
needIce -= ((needIce / num) - 2) * num
}
}
}
// println("\t" + needIce)
if (needIce <= 0)
break
}
println(buyIce)
// println(sum)
}