nyoj49 开心的小明

 1 #include<cstring>

 2 #include<iostream>

 3 using namespace std;

 4 int main()

 5 {

 6     int i,T,n,m,v,w;

 7     int f[30001];

 8     cin>>T;

 9     while(T--){

10         cin>>n>>m;

11         memset(f,0,(n+1)*sizeof(int));

12         while(m--){

13             cin>>v>>w;

14             for(w*=v,i=n;i>=v;i--)

15                 f[i]=max(f[i],f[i-v]+w);

16         }

17         cout<<f[n]<<endl;

18     }

19     return 0;

20 }

//0-1背包问题

你可能感兴趣的:(OJ)