結果
| 問題 | No.152 貯金箱の消失 |
| コンテスト | |
| ユーザー |
バカらっく
|
| 提出日時 | 2019-11-05 01:37:39 |
| 言語 | Kotlin (2.3.20) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 1,286 bytes |
| 記録 | |
| コンパイル時間 | 10,123 ms |
| コンパイル使用メモリ | 474,480 KB |
| 実行使用メモリ | 125,104 KB |
| 最終ジャッジ日時 | 2026-04-04 15:54:15 |
| 合計ジャッジ時間 | 23,511 ms |
|
ジャッジサーバーID (参考情報) |
judge5_1 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 4 TLE * 2 -- * 6 |
ソースコード
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 }.sortedDescending()) {
val key = i - j
if(key > j) {
break
}
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)
}
バカらっく