#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
inline int read() {
int x = 0, f = 1;
char c = getchar();
while (c < '0' || c > '9') {
if (c == '-')
f = -1;
c = getchar();
}
while (c >= '0' && c <= '9')
x = (x << 3) + (x << 1) + (c ^ 48), c = getchar();
return x * f;
}
int t, m;
int p[30005], v[150], w[150]; // w是价格,v是重要度(1~5)
int main() {
t = read(), m = read();
for (int i = 1; i <= m; ++i) {
w[i] = read(), v[i] = read();
}
for (int i = 1; i <= m; ++i) {
for (int j = t; j >= w[i]; --j) {
p[j] = max(p[j], p[j - w[i]] + w[i] * v[i]);
}
}
cout << p[t] << endl;
return 0;
}
洛谷P1060 [NOIP2006 普及组] 开心的金明
最新推荐文章于 2022-04-06 21:07:09 发布