-
7579번: 앱
입력은 3줄로 이루어져 있다. 첫 줄에는 정수 N과 M이 공백문자로 구분되어 주어지며, 둘째 줄과 셋째 줄에는 각각 N개의 정수가 공백문자로 구분되어 주어진다. 둘째 줄의 N개의 정수는 현재 활
www.acmicpc.net
코드
import sys n, m = map(int, input().split(" ")) active_li = list(map(int, sys.stdin.readline().split(" "))) cost_li = list(map(int, sys.stdin.readline().split(" "))) dp_li = [[0]*(sum(cost_li)+1) for _ in range(n+1)] answer_li = [] for i in range(1,n+1): for j in range(1, sum(cost_li)+1): if cost_li[i-1] <= j: dp_li[i][j] = max(dp_li[i-1][j], active_li[i-1]+dp_li[i-1][j-cost_li[i-1]]) else: dp_li[i][j] = dp_li[i-1][j] if dp_li[i][j] >= m: answer_li.append(j) print(min(answer_li))
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2606번 바이러스 (파이썬) (0) 2022.01.04 [백준] 1260번 DFS와 BFS (파이썬) (0) 2022.01.04 [백준] 2293번 동전 1 (파이썬) (0) 2022.01.04 [백준] 2629번 양팔저울 (파이썬) (0) 2022.01.04 [백준] 10942번 팰린드롬? (파이썬) (0) 2022.01.04