只对了第一个点
#include<iostream>
#include<algorithm>
using namespace std;
int w[1000];
int c[1000];
int dp[100][100];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++){
cin>>w[i]>>c[i];
}
dp[0][0]=0;
for(int i=1;i<=m;i++){
for(int v=w[i];v<=n;v++){
dp[i][v]=max(dp[i-1][v],dp[i-1][v-w[i]]+c[i]);
}
}
cout<<dp[m][n];
}