티스토리 뷰
#include<cstdio>
#include<algorithm>
#include<vector>
using namespace std;
const int MAX_N = 100 + 5;
const int MAX_W = 100100;
int main()
{
int N, K;
int W[100100];
int dp[MAX_N][MAX_W]; // dp[i][j] = [0...i]번 배낭을 사용하여 총합무게 j일때 얻을 수 있는 가치의 최댓값
int weight[MAX_N], value[MAX_N];
scanf("%d %d", &N, &K);
for (int i = 1; i <= N; i++) // [1...N]
scanf("%d %d", &weight[i], &value[i]);
for (int i = 0; i <= N; i++) { // i-th item
for (int j = 0; j <= K; j++) { // j : total weight
if (j == 0 || i==0) {
dp[i][j] = 0;
continue;
}
if (j < weight[i])
dp[i][j] = dp[i - 1][j];
if (j - weight[i] >= 0)
dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - weight[i]] + value[i]);
}
}
printf("%d", dp[N][K]); // [0...N]번 배낭을 사용하여 총합무게K 일때 얻을 수 있는 가치의 최대값
return 0;
}
'백준 문제풀이' 카테고리의 다른 글
백준[baekjoon] 8462 (0) | 2020.05.27 |
---|---|
백준[baekjoon] 14728 (0) | 2020.05.02 |
백준[baekjoon] 10165 (0) | 2020.02.26 |
백준[baekjoon] 1390 (0) | 2020.01.19 |
백준[baekjoon] 14641 (0) | 2020.01.11 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C++게임개발
- 브레젠험 알고리즘
- 백준 27469
- Python
- Unreal Engine
- 코드포스
- 숫자판 만들기
- ndisplay
- 백준
- opengl
- tetris
- BOJ 2365
- 정보올림피아드
- 초등부
- 언리얼 프로젝트 재생성
- Codeforces
- 테트리스
- BOJ 27469
- C++게임
- 언리얼 프로젝트 재생성 자동화
- 홍정모의 게임 만들기 연습 문제 패키지
- 퀸 움직이기
- pygame
- ICPC 후기
- UE5.3
- DP
- OpenVDB
- 백준 2365
- 언리얼 자동화
- unreal enigne
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
글 보관함