結果
| 問題 |
No.1037 exhausted
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-08-31 21:28:45 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 147 ms / 2,000 ms |
| コード長 | 710 bytes |
| コンパイル時間 | 414 ms |
| コンパイル使用メモリ | 82,304 KB |
| 実行使用メモリ | 77,020 KB |
| 最終ジャッジ日時 | 2024-11-08 16:18:21 |
| 合計ジャッジ時間 | 3,202 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
n,v,l = map(int,input().split())
xvw = [[int(i) for i in input().split()] for j in range(n)]
inf = 10**15
dp = [inf]*(v+1)
dp[v] = 0
pos = 0
for i in range(n):
x,vi,wi = xvw[i]
dis = x-pos
for j in range(v+1):
if dis > j:
dp[j] = inf
else:
dp[j-dis] = dp[j]
if dis != 0:
dp[j] = inf
#print(dp,i,i)
for j in range(v,-1,-1):
dp[min(v,j+vi)] = min(dp[j]+wi,dp[min(v,j+vi)])
pos = x
#print(dp,i,i,i)
#print(dp)
if pos != l:
dis = l-pos
ans = inf
for j in range(v+1):
if dis <= j:
ans = min(ans,dp[j])
else:
ans = min(dp)
if ans >= inf:
print(-1)
else:
print(ans)