結果
| 問題 |
No.2922 Rose Garden
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-10-12 16:26:24 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 583 bytes |
| コンパイル時間 | 246 ms |
| コンパイル使用メモリ | 82,464 KB |
| 実行使用メモリ | 107,536 KB |
| 最終ジャッジ日時 | 2024-10-12 16:27:22 |
| 合計ジャッジ時間 | 47,438 ms |
|
ジャッジサーバーID (参考情報) |
judge / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 24 WA * 25 TLE * 1 |
ソースコード
N,S,B=map(int,input().split())
H=list(map(int,input().split()))
dp=[-1 for _ in range(S+1)]
#道中でH_{i+1}に到達できない場合を知りたい
#NDP使えば通るっしょ()
dp[S]=H[0]
for i in range(N):
ndp=[-1 for _ in range(S+1)]
m=0
for j in reversed(range(S+1)):
if dp[j]==-1:continue
m=max(m,dp[j])
if j>0:dp[j-1]=max(dp[j]+B,dp[j-1])
if i!=N-1:
if dp[j]>H[i+1]:ndp[j]=max(dp[j],ndp[j])
if m>=H[i]:dp[S]=max(dp[S],H[i])
dp=(dp if i==N-1 else ndp[:])
print("Yes" if dp.count(-1)!=S+1 else "No")