通过:1/3
#include <iostream>
#include<iomanip>
#include <cstring>
using namespace std;
int main()
{
//案例数
int kase;
long long dp[10001];//背包
int Ai[10001];//成就数值
int Bi[10001];//花费时间
int n,x;//游戏数,总时间
scanf("%d", &kase);
while(kase--)
{
memset(dp,0,sizeof(dp));//数组清0
scanf("%d %d", &n, &x);
for(int i = 0; i < n; i++ )
cin>>Ai[i]>>Bi[i];
//背包问题
for(int i = 0; i < n; i++ )
for(int j = x; j >= Bi[i] ; j-- )
dp[j] = max(dp[j],dp[j-Bi[i]] + Ai[i]);
cout << dp[x] << endl;
}
return 0;
}