#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int d[55][9010];
int main()
{
int m;
cin>>m;
int kase=0;
while(m--)
{
int n,t;
cin>>n>>t;
int T[55];
for(int i=1;i<=n;i++) cin>>T[i];
int ans=0,p=1;
for(int i=0;i<t;i++) d[0][i]=-1;
d[0][0]=0;
for(int i=1;i<=n;i++)
{
for(int j=0;j<t;j++)
{
d[p][j]=d[p^1][j];
if(j>=T[i]&&d[p^1][j-T[i]]>=0)
d[p][j]=max(d[p][j],d[p^1][j-T[i]]+1);
ans=max(ans,d[p][j]);
}
p^=1;
}
for(int i=t-1;i>=0;i--)
{
if(ans==d[p^1][i]){
cout<<"Case "<<++kase<<": "<<ans+1<<" "<<i+678<<endl;;
break;
}
}
}
return 0;
}
uva 12563 Jin Ge Jin Qu hao
最新推荐文章于 2020-10-14 20:26:31 发布