22 lines
448 B
C++
22 lines
448 B
C++
|
|
#include <bits/stdc++.h>
|
||
|
|
|
||
|
|
using namespace std;
|
||
|
|
const int N = 30010;
|
||
|
|
|
||
|
|
int n, m;
|
||
|
|
int f[N];
|
||
|
|
|
||
|
|
int main() {
|
||
|
|
//物品个数n
|
||
|
|
scanf("%d %d", &m, &n); //注意一下这里输入的顺序
|
||
|
|
|
||
|
|
// 01背包模板
|
||
|
|
for (int i = 1; i <= n; i++) {
|
||
|
|
int v, w;
|
||
|
|
scanf("%d %d", &v, &w);
|
||
|
|
for (int j = m; j >= v; j--)
|
||
|
|
f[j] = max(f[j], f[j - v] + v * w);
|
||
|
|
}
|
||
|
|
printf("%d\n", f[m]);
|
||
|
|
return 0;
|
||
|
|
}
|