P1048 [NOIP2005 普及组] 采药
#include <bits/stdc++.h>
using namespace std;
int f[1005], c[105], w[105], N, V;
void ZeroOnePack()
{
for(int i = 0; i <= N; ++i)
f[i] = 0;
for(int i = 1; i <= N; ++i)
for(int v = V; c[i] <= v; --v)
f[v] = max(f[v], f[v - c[i]] + w[i]);
}
int main()
{
cin >> V >> N;
for(int i = 1; i <= N; ++i)
cin >> c[i] >> w[i];
ZeroOnePack();
cout << f[V];
}