#include <iostream>
#include <cstdio>
#include <cstring>
#include <climits>
using namespace std;
int maxn,dp[2001],v[7];
float aver;
void solve()
{
aver=0; maxn=INT_MIN;
for(int i=1;i<=2000;++i)
dp[i]=1<<30;
for(int i=1;i<=6;++i)
for(int j=v[i];j<=2000;++j)
dp[j]=min(dp[j],dp[j-v[i]]+1);
for(int i=1;i<=6;++i)
for(int j=2000-v[i];j>=0;--j)
dp[j]=min(dp[j],dp[j+v[i]]+1);
for(int i=1;i<=100;++i)
{
maxn=max(maxn,dp[i]);
aver+=dp[i];
}
}
int main()
{
int t;
scanf("%d",&t);
dp[0]=0;
while(t--)
{
int temp;
for(int i=1;i<=6;++i)
scanf("%d",&v[i]);
solve();
printf("%.2f %d\n",aver/100,maxn);
}
return 0;
}
poj1252
最新推荐文章于 2018-01-22 17:17:00 发布