1 #include<iostream>
2 #include<cstring>
3 #include<cstdio>
4 #define N 110
5 using namespace std;
6 int f[N*20],n,m,v[N*2],c[N*2];
7 int main()
8 {
9 scanf("%d%d",&m,&n);
10 for(int i=1;i<=n;i++)
11 scanf("%d%d",&v[i],&c[i]);
12 memset(f,0,sizeof f );
13 for(int i=1;i<=n;i++)
14 for(int j=m;j>=v[i];j--)
15 f[j]=max(f[j],f[j-v[i]]+c[i]);
16 printf("%d",f[m]);
17
18 return 0;
19 }
快考试了,今天开始整理DP,收到的第一个题,01背包,居然忘了怎么打了,55555....,想起来之后,数据范围还开小了,55555....