话不多说,上代码!
#include<bits/stdc++.h>
using namespace std;
int main(){
int c,h;
cin>>c>>h;
int a[1005]={0},b[1005]={0},f[h+1][c+1];
for(int i=1;i<=h;++i){
cin>>a[i]>>b[i];
}
memset(f,0,sizeof(f));
for(int i=1;i<=h;i++){
for(int j=1;j<=c;j++){
if(j<a[i])
f[i][j]=f[i-1][j];
else
f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+b[i]);
}
}
cout<<f[h][c]<<endl;
return 0;
}