fork(1) download
  1. //KAVISH DWIVEDI
  2. #include<iostream>
  3. #include<cstdio>
  4. #include<algorithm>
  5. #include<map>
  6. #include<set>
  7. #include<vector>
  8. #include<string>
  9. #include<list>
  10. #include<cstring>
  11. #include<cmath>
  12. #include<iomanip>
  13. #include<cstdlib>
  14. #include<climits>
  15. #include<utility>
  16. #define D(i) cout<<"Reached Here "<<i<<endl
  17. #define MOD 1000000007
  18. #define eps 10e-5
  19. #define ll long long
  20. #define ull unsigned long long
  21. #define PI 3.14159265
  22. using namespace std;
  23. int main(){
  24. int n;
  25. cin>>n;
  26. int a[6];
  27. int sum,mm;
  28. while(n--){
  29. sum=0;
  30. for(int i=0;i<6;i++)
  31. cin>>a[i];
  32. int dp[201];
  33. for(int i=0;i<201;i++)
  34. dp[i]=INT_MAX;
  35. dp[0]=0;
  36. for(int i=1;i<201;i++){
  37. for(int j=0;j<6;j++){
  38. if(i-a[j]>=0){
  39. dp[i]=min(dp[i],dp[i-a[j]]+1);
  40. }
  41. }
  42. }
  43. for(int i=199;i;i--){
  44. for(int k=0;k<6;k++){
  45. if(a[k]+i<=200){
  46. dp[i]=min(dp[i],dp[a[k]+i]+1);
  47. }
  48. }
  49. }
  50. /*for(int i=0;i<101;i++){
  51. cout<<i<<" = "<<dp[i]<<endl;
  52. }*/
  53. mm=dp[0];
  54. for(int i=1;i<101;i++){
  55. sum+=dp[i];
  56. mm=max(mm,dp[i]);
  57. }
  58. //cout<<setiosflags(ios::fixed)<<setprecision(2)<<4.9890<<endl;
  59. printf("%.2f %d\n",sum/100.00,mm);
  60. //cout<<setiosflags(ios::fixed)<<setprecision(4)<<sum/100.00<<" "<<mm<<endl;
  61. }
  62. return 0;
  63. }
  64.  
Success #stdin #stdout 0s 3344KB
stdin
1
1 2 5 10 20 50
stdout
2.96 5