#include <iostream>
using namespace std;
int N, M;
int Arr[21];
int Pag[21];
int DP[21][201];
int Ans;
int main(){
cin >> N >> M;
int a, b;
for(int i=1; i<=M; i++){
cin >> Arr[i] >> Pag[i];
}
for(int i=1; i<=M; i++){
for(int j=N; j>=0; j--){
if(j - Arr[i] >= 0){
DP[i][j] = max(DP[i-1][j], DP[i-1][j - Arr[i]] + Pag[i]);
}
else{
DP[i][j] = DP[i-1][j];
}
Ans = max(Ans, DP[i][j]);
}
}
cout << Ans << "\n";
return 0;
}
'알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 가장 많이 받은 선물 (0) | 2024.07.07 |
---|---|
[알고리즘] 백준 16507 - 어두운 건 무서워 (0) | 2024.07.06 |
[알고리즘] 백준 7579 - 앱 (0) | 2024.07.05 |
[알고리즘] 백준 9084 - 동전 (0) | 2024.07.04 |
[알고리즘] 백준 12865 - 평범한 배낭 (0) | 2024.07.01 |