#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int dp[110][1010];
int main()
{
int t,n,m,l,i,j,k,w[110],v[110];
// freopen("test.txt", "r", stdin);
scanf("%d",&t);
while(t--)
{
memset(dp,-1,sizeof(dp));
scanf("%d%d%d",&n,&m,&l);
for(i=0;i<=l;i++)
dp[0][i]=0;
for(i=0;i<n;i++)
scanf("%d%d",&w[i],&v[i]);
for(i=0;i<n;i++)
for(j=m;j>=1;j--) //逆序
for(k=l;k>=w[i];k--)
if(dp[j-1][k-w[i]]!=-1&&dp[j][k]<dp[j-1][k-w[i]]+v[i])
dp[j][k]=dp[j-1][k-w[i]]+v[i];
if(dp[m][l]==-1)
printf("0\n");
else
printf("%d\n",dp[m][l]);
}
return 0;
}
HDU 3496 Watch The Movie
最新推荐文章于 2024-07-29 14:00:00 发布