結果
問題 | No.1 道のショートカット |
ユーザー |
|
提出日時 | 2016-07-05 08:51:02 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 101 ms / 5,000 ms |
コード長 | 575 bytes |
コンパイル時間 | 446 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,656 KB |
最終ジャッジ日時 | 2024-07-20 16:24:10 |
合計ジャッジ時間 | 2,314 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 40 |
ソースコード
#coding: utf-8 #yuki_001 n=int(raw_input()) c=int(raw_input()) v=int(raw_input()) s=map(int,raw_input().split()) t=map(int,raw_input().split()) y=map(int,raw_input().split()) m=map(int,raw_input().split()) INF=float("inf") dp=[[INF for i in xrange(c+1)] for j in xrange(n)] dp[0][0]=0 G=[[] for i in xrange(n)] for i in xrange(v): G[s[i]-1].append((t[i]-1,y[i],m[i])) for i in xrange(n): for j in xrange(c+1): if dp[i][j]!=INF: for t,y,m in G[i]: if j+y<=c: dp[t][j+y]=min(dp[t][j+y],dp[i][j]+m) res=min(dp[n-1]) if res==INF: print -1 else: print res