結果
| 問題 |
No.1 道のショートカット
|
| コンテスト | |
| ユーザー |
kou_kkk
|
| 提出日時 | 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
kou_kkk