#include <bits/stdc++.h>
#define INT long long int 
using namespace std;

INT n,k;
INT w[110], v[110];
INT dp[110][100010];

int main()
{
  cin >> n >> k;
  
  for(int i=1; i<n+1; i++)
    {
      cin >> w[i] >> v[i];
    }

  for(int i=1; i<k+1; i++)
    {
      for(int j=1; j<n+1; j++)
        {
          if(w[j] > i)
          {
            dp[j][i] = dp[j-1][i];
          }
          else{
            dp[j][i] = max(dp[j-1][i-w[j]] + v[j], dp[j-1][i]);
          }
        }
    }

  cout << dp[n][k];


  return 0;
}

 

 

- dp(반복문)

'코딩 일지 > baekjoon' 카테고리의 다른 글

1260 dfs와 bfs  (0) 2023.08.30
1655 가운데를 말해요  (0) 2023.08.22
1463 - 1로 만들기  (0) 2023.02.11
2839 설탕 배달  (0) 2023.02.11
4676 셀프넘버  (0) 2023.02.11

+ Recent posts