完全背包

#include<iostream>
using namespace std;

const int N = 1e4 + 10;
int n,m;
int v[N],w[N],f[N];

int main()
{
    cin >> m >> n;
    for(int i = 1;i <= n;i ++)
    {   cin >> w[i] >> v[i];
        for(int j = v[i];j <= m;j ++)
            f[j] = max(f[j],f[j-v[i]]+w[i]);
    }
    cout << f[m];
    return 0;
}