結果
| 問題 |
No.152 貯金箱の消失
|
| コンテスト | |
| ユーザー |
バカらっく
|
| 提出日時 | 2019-11-05 01:32:48 |
| 言語 | Kotlin (2.1.0) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,271 bytes |
| コンパイル時間 | 17,017 ms |
| コンパイル使用メモリ | 440,484 KB |
| 実行使用メモリ | 117,580 KB |
| 最終ジャッジ日時 | 2024-09-14 23:57:32 |
| 合計ジャッジ時間 | 21,318 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 TLE * 1 -- * 7 |
コンパイルメッセージ
Main.kt:3:10: warning: parameter 'arr' is never used
fun main(arr:Array<String>) {
^
Main.kt:34:21: warning: variable 'keyKey' is never used
val keyKey = dic[key!!*k]
^
Main.kt:34:37: warning: unnecessary non-null assertion (!!) on a non-null receiver of type Int
val keyKey = dic[key!!*k]
^
ソースコード
fun main(arr:Array<String>) {
val dic = mutableMapOf<Int, Int>()
val himo = readLine()!!.toInt()
for (i in (1..himo)) {
if(i*2*4>himo) {
break
}
dic[i*i] = i
}
var ans = 0
val flag = mutableMapOf<Int, MutableMap<Int, Boolean>>()
for(i in dic.keys) {
for(j in dic.keys.filter { it < i }) {
val key = i - j
if(key > j) {
continue
}
if(!dic.containsKey(key)) {
continue
}
if(flag.containsKey(dic[i]!!) && flag[dic[i]!!]!!.containsKey(dic[j]!!)) {
continue
}
val requireHimo = (dic[i]!! + dic[j]!! + dic[key]!!) * 4
if(requireHimo > himo) {
continue
}
ans++
for (k in (1..himo)) {
val keyI = dic[i]!!*k
val keyJ = dic[j]!!*k
val keyKey = dic[key!!*k]
if(!flag.containsKey(keyI)) {
flag[keyI] = mutableMapOf()
}
if(requireHimo * k > himo) {
break
}
flag[keyI]!![keyJ] = true
}
}
}
println(ans)
}
バカらっく