https://www.acmicpc.net/problem/12865
https://chanhuiseok.github.io/posts/improve-6/
#include <iostream>
#include <stdio.h>
#define max_size 101
using namespace std;
int main(){
int n, k;
int w[max_size], v[max_size];
int dp[max_size][100001];
cin >> n >>k;
for(int i=1; i<n+1; i++){
cin >> w[i] >> v[i];
}
for(int i=1; i<n+1; i++){
for(int j=1; j<k+1; j++){
if( j-w[i]>=0){
dp[i][j]=max(dp[i-1][j], dp[i-1][j-w[i]]+v[i]);
}else{
dp[i][j]=dp[i-1][j];
}
}
}
cout <<dp[n][k];
return 0;
}
'코딩테스트 대비' 카테고리의 다른 글
[프로그래머스 c++] 같은 숫자는 싫어 (1) | 2022.08.22 |
---|---|
[프로그래머스 c++] 구명보트 (0) | 2022.08.22 |
[c++] 소수점 자릿수 출력하기 / [Softeer] 성적평균 문제 풀이 (0) | 2022.06.10 |
[프로그래머스 Lv.1] 3진법 뒤집기 (0) | 2022.05.06 |
[프로그래머스 Lv.1] 약수의 개수와 덧셈 (0) | 2022.05.06 |