백준12865: 평범한 배낭 - DP, knapsack(Python, 파이썬)

Hyn·2025년 2월 11일

Algorithm(Py)

목록 보기
13/37

냅색이 실타.

코드출처

import sys
input = sys.stdin.readline

N, K = map(int, input().split())
# 물건 수, 무게
dp = [0] * (K+1)

for _ in range(N):
    w, v = map(int, input().split()))
	  if w > K:
      	# 만약 물건의 무개가 이미 최대치를 넘었다면
		  continue
    for j in range(K, 0, -1):
        if j + w <= K and dp[j] != 0:
            dp[j+w] = max(dp[j+w], dp[j]+ v)
    dp[w] = max(dp[w], v)

print(max(dp))
profile
쪼렙 개발자 하지만 포기하지 않지

0개의 댓글