結果
問題 |
No.1 道のショートカット
|
ユーザー |
![]() |
提出日時 | 2025-08-04 00:51:06 |
言語 | Nim (2.2.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 720 bytes |
コンパイル時間 | 4,513 ms |
コンパイル使用メモリ | 72,428 KB |
実行使用メモリ | 814,452 KB |
最終ジャッジ日時 | 2025-08-04 00:51:16 |
合計ジャッジ時間 | 8,514 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 7 MLE * 1 -- * 32 |
ソースコード
import sequtils, strutils, sugar let # 街の数、持ち金、道の数 n, c, v = parseInt stdin.readLine # 発、着、費用、時間 s, t, y, m = stdin.readLine.split.map parseInt var # (行き先、費用、時間) g = newSeq[seq[(int, int, int)]](n) # (合計費用、合計時間) dp = newSeq[seq[(int, int)]](n) for i in 0 .. v-1: g[s[i]-1].add (t[i]-1, y[i], m[i]) dp[0].add (0, 0) for i in 0 ..< n-1: for (yenX, timeX) in dp[i]: for (node, yenY, timeY) in g[i]: let yen = yenX + yenY if yen > c: continue dp[node].add (yen, timeX + timeY) let times = newSeq.collect: for (_, a) in dp[n-1]: a echo: if times.len == 0: -1 else: min times