#include<stdio.h>
#include<string.h>
int dp[30010];
int max(int a,int b){
return a>b?a:b;
}
int main(){
int t,n,m,i,j;
int num[30],val[30];
scanf("%d",&t);
while(t--){
memset(dp,0,sizeof(dp));
memset(num,0,sizeof(num));
memset(val,0,sizeof(val));
scanf("%d%d",&n,&m);
for(i=0;i<m;i++){
scanf("%d%d",&num[i],&val[i]);
}
for(i=0;i<m;i++){
for(j=n;j>=num[i];j--){
dp[j]=max(dp[j],dp[j-num[i]]+num[i]*val[i]);
}
}
printf("%d\n",dp[n]);
}
return 0;
}
南阳 49 开心的小明
最新推荐文章于 2014-08-12 21:43:38 发布