atcoder とアルゴ式 (動的計画法)同じ問題のようで正解にならない
下記の2問の違いが分からない
上記の2問について、アルゴ式にて以下のコードを提出し、正答しました
N,M = map(int,input().split())
A,B = [None]*(N+1),[None]*(N+1)
for i in range(1,N+1):
A[i],B[i] = map(int,input().split())
INF = 10**7
dp = [[INF]*(M+1)for _ in range(N+1)]
dp[0][0]=0
for i in range(1,N+1):
for j in range(M+1):
if dp[i-1][j]!=INF:
dp[i][j]=0
if j>=A[i]:
if dp[i][j-A[i]]<B[i]:
dp[i][j]=dp[i][j-A[i]]+1
print("Yes"if dp[-1][-1]!=INF else "No")
そしてatcoderで Money in Handという同じような問題に出くわし、このコードを提出しましたが、1/3ほどのテストケースが通りませんでした。
これらの2問、何が違うのでしょうか?なぜatcoderでは通らないのかがさっぱりわかりません。
0