You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

27 lines
548 B

2 years ago
#include<bits/stdc++.h>
using namespace std;
/*
֪ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
<EFBFBD>ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݲο<EFBFBD><EFBFBD><EFBFBD>
https://www.cnblogs.com/aiguona/p/7274876.html
*/
using namespace std;
int w[300], c[300], f[300010];
int V, n;
int main() {
scanf("%d%d", &V, &n);
for (int i = 1; i <= n; i++) {
scanf("%d%d", &w[i], &c[i]);
}
for (int i = 1; i <= n; i++)
for (int j = w[i]; j <= V; j++)//ע<><D7A2><EFBFBD>˴<EFBFBD><CBB4><EFBFBD><EFBFBD><EFBFBD>0-1<><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ˳<CEAA><CBB3><EFBFBD><EFBFBD>0-1<><31><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
f[j] = max(f[j], f[j - w[i]] + c[i]);
printf("max=%d\n", f[V]);
return 0;
}