結果
問題 |
No.1037 exhausted
|
ユーザー |
![]() |
提出日時 | 2020-04-24 23:56:32 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 466 bytes |
コンパイル時間 | 175 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 76,548 KB |
最終ジャッジ日時 | 2024-10-15 03:58:25 |
合計ジャッジ時間 | 2,574 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 23 |
ソースコード
N, V, L = map(int, input().split()) inf = 10**18 dp = [inf]*(V+1) dp[V] = 0 bx = 0 for _ in range(N): ndp = [inf] * (V+1) x, v, w = map(int, input().split()) for vl in range(V+1): if vl+(x-bx) > V: continue ndp[vl] = dp[vl+(x-bx)] for vl in range(V, -1, -1): vi = min(vl+v, V) ndp[vi] = min(ndp[vi], ndp[vl]+w) dp = ndp bx = x R = min([inf]+dp[L-bx:]) if R >= inf: print(-1) else: print(R)