Statistics

Problem Statement for "WaterEqualizer"

Problem Statement

There are some bottles on the table. The i-th bottle contains waterVolumes[i] liters of water. You can pour out water from any bottle to any other. The volume of water you pour out is not necessarily an integer. It takes 1 second to pour 1 liter of water. Each bottle is large enough to contain as much water as you want.

Return the minimal time in seconds required to make each bottle contain an equal volume of water.

Definition

Class:
WaterEqualizer
Method:
minTime
Parameters:
int[]
Returns:
double
Method signature:
double minTime(int[] waterVolumes)
(be sure your method is public)

Notes

  • The returned value must be accurate to within a relative or absolute value of 1E-9.

Constraints

  • waterVolumes will contain between 1 and 50 elements, inclusive.
  • Each element of waterVolumes will be between 1 and 10, inclusive.

Examples

  1. {1, 2}

    Returns: 0.5

    Pour out 0.5 liter from the second bottle to the first.

  2. {1, 2, 1, 2}

    Returns: 1.0

    Pour out 0.5 liter from the second bottle to the first and from the fourth to the third.

  3. {10, 1}

    Returns: 4.5

  4. {1, 2, 3, 4}

    Returns: 2.0

  5. {1,5,2,6,8,1,2,4,9,10,1,1,10}

    Returns: 20.307692307692307

  6. {1}

    Returns: 0.0

  7. {6,3}

    Returns: 1.5

  8. {1,1,1}

    Returns: 0.0

  9. {2,10,9,1}

    Returns: 8.0

  10. {1,2,1,1,2}

    Returns: 1.2

  11. {8,9,7,5,2,6}

    Returns: 5.5

  12. {1,2,2,2,2,1,1}

    Returns: 1.714285714285714

  13. {2,2,6,1,3,5,4,8}

    Returns: 7.5

  14. {4,3,3,6,6,5,4,2,1}

    Returns: 6.111111111111111

  15. {1,1,1,4,1,2,4,3,2,1}

    Returns: 5.0

  16. {1,1,1,1,1,1,1,1,1,1,1}

    Returns: 0.0

  17. {2,2,1,1,1,2,1,2,1,2,2,2}

    Returns: 2.916666666666667

  18. {2,8,5,6,6,5,2,7,6,1,8,6,2}

    Returns: 12.692307692307692

  19. {9,7,2,2,10,1,10,9,5,2,8,5,9,10}

    Returns: 21.142857142857146

  20. {3,8,6,3,7,5,1,5,8,3,8,4,5,9,5}

    Returns: 13.999999999999998

  21. {2,2,3,1,2,3,1,2,3,3,1,2,1,3,3,2}

    Returns: 5.25

  22. {4,6,4,8,1,8,1,4,7,3,1,6,1,1,6,7,7}

    Returns: 19.705882352941178

  23. {2,1,2,1,2,1,2,1,1,2,1,1,2,2,2,1,1,2}

    Returns: 4.5

  24. {4,1,3,2,6,4,5,5,4,4,5,1,1,4,1,3,6,5,6}

    Returns: 13.789473684210527

  25. {3,3,2,4,3,3,2,1,2,3,2,2,1,4,4,2,1,3,1,2}

    Returns: 8.4

  26. {4,1,1,1,1,3,3,3,3,1,2,2,2,1,3,3,1,3,2,3,1}

    Returns: 9.142857142857142

  27. {3,1,3,4,3,5,4,2,5,5,5,2,3,4,5,5,2,3,5,5,1,3}

    Returns: 13.000000000000002

  28. {5,5,1,1,2,2,3,3,3,2,2,5,3,4,3,2,5,5,3,5,3,1,5}

    Returns: 13.608695652173916

  29. {5,6,4,1,2,1,5,6,6,3,5,3,5,4,6,3,3,2,4,1,3,3,2,2}

    Returns: 17.041666666666668

  30. {1,4,6,1,2,1,2,3,1,5,1,6,5,4,4,3,3,6,1,4,6,2,5,4,3}

    Returns: 19.16

  31. {1,4,4,4,3,4,3,3,4,2,2,1,2,1,2,2,3,3,4,2,4,4,3,1,4,3}

    Returns: 12.076923076923077

  32. {9,7,1,4,3,6,6,1,2,5,5,3,10,8,5,3,7,3,3,8,7,7,10,7,5,7,1}

    Returns: 30.14814814814815

  33. {1,4,4,4,2,7,1,1,5,3,2,4,6,2,4,2,4,7,3,4,7,3,5,1,1,4,6,6}

    Returns: 22.142857142857142

  34. {4,5,5,1,1,3,2,4,5,1,2,5,2,4,5,3,3,4,2,2,3,4,1,4,2,5,1,1,2}

    Returns: 18.551724137931036

  35. {1,4,6,7,5,7,2,3,1,3,6,3,8,2,6,4,2,2,5,3,6,3,8,1,5,5,4,3,3,3}

    Returns: 25.599999999999994

  36. {1,2,4,2,4,5,2,1,2,2,5,1,4,2,2,4,5,1,1,2,4,2,1,5,4,3,4,5,5,3,4}

    Returns: 20.516129032258064

  37. {3,2,2,2,4,2,4,3,2,4,3,3,4,2,1,3,2,4,4,4,1,2,2,4,4,2,1,4,1,1,4,4}

    Returns: 16.25

  38. {1,1,1,1,3,1,3,1,3,3,2,2,3,2,3,1,3,2,3,1,1,2,2,2,1,2,1,2,1,1,3,3,3}

    Returns: 12.212121212121215

  39. {3,3,3,4,3,1,4,2,3,4,3,4,2,1,4,3,4,4,1,1,1,3,1,2,3,2,2,1,2,3,4,3,2,4}

    Returns: 16.058823529411768

  40. {2,3,2,3,2,2,1,2,1,2,3,3,2,2,1,1,2,3,2,1,3,1,1,2,1,2,1,3,1,3,3,1,3,1,2}

    Returns: 11.314285714285713

  41. {6,8,8,6,9,7,6,8,7,9,5,6,6,2,4,9,1,3,2,2,5,8,2,2,7,5,3,8,7,4,9,7,7,5,5,3}

    Returns: 36.33333333333334

  42. {4,5,2,5,1,4,1,2,5,1,4,2,4,3,4,3,1,1,5,2,2,1,4,1,5,2,3,2,4,4,5,4,3,1,1,2,4}

    Returns: 24.162162162162158

  43. {3,2,1,2,2,3,1,1,2,1,2,3,1,3,2,2,3,1,2,2,3,1,2,2,2,1,1,3,1,2,1,3,3,2,1,3,1,2}

    Returns: 11.973684210526315

  44. {7,10,6,9,7,6,9,1,4,3,5,10,5,6,3,10,3,8,5,10,7,5,9,7,5,6,5,6,8,6,7,10,1,1,10,9,2,2,4}

    Returns: 43.69230769230769

  45. {5,4,5,1,5,5,1,5,6,4,6,4,6,1,3,6,2,3,3,1,3,4,6,2,4,4,3,4,1,1,6,3,6,5,4,5,3,1,4,3}

    Returns: 27.899999999999995

  46. {6,2,5,6,1,4,7,5,2,3,7,5,2,1,4,3,4,7,7,5,4,5,4,6,1,7,4,6,5,2,2,1,3,3,6,5,6,5,3,6,6}

    Returns: 32.853658536585364

  47. {1,1,3,2,1,2,2,1,2,1,1,3,3,1,1,2,3,3,1,2,3,3,3,1,1,3,2,1,2,1,3,1,1,3,2,3,1,2,3,2,3,1}

    Returns: 15.785714285714288

  48. {2,3,1,3,3,3,3,1,3,2,3,1,2,3,2,2,3,3,3,3,1,2,2,3,3,1,1,1,2,1,1,3,2,3,1,3,3,3,3,3,3,1,3}

    Returns: 16.58139534883721

  49. {2,3,2,1,1,1,3,3,1,2,1,3,1,3,2,2,2,1,3,2,3,2,3,1,2,2,2,1,2,1,1,3,2,3,3,2,2,2,1,1,3,3,1,1}

    Returns: 14.31818181818182

  50. {2,2,2,1,2,2,1,2,1,1,2,2,2,2,1,2,1,2,1,1,1,1,1,2,2,1,2,2,1,1,1,2,1,1,2,1,1,1,1,1,2,2,1,2,2}

    Returns: 11.244444444444444

  51. {5,3,1,5,1,2,2,5,1,2,1,2,2,1,1,2,4,3,5,5,2,1,3,1,1,4,1,2,5,2,5,4,2,1,4,1,5,2,3,2,4,4,3,1,1,1}

    Returns: 30.26086956521739

  52. {2,2,3,4,4,4,4,1,5,4,3,3,5,3,2,1,4,1,3,5,3,5,2,2,1,2,3,1,1,5,2,3,4,4,5,3,1,1,2,1,3,4,2,1,5,5,5}

    Returns: 28.191489361702125

  53. {3,1,9,4,3,10,2,9,1,1,8,8,6,7,6,5,5,2,5,3,9,2,2,7,6,10,10,2,10,8,9,5,7,8,7,4,3,6,7,1,3,4,10,7,10,9,3,6}

    Returns: 61.125

  54. {4,7,3,1,10,9,5,5,6,5,9,6,4,1,2,8,2,5,1,6,5,10,9,6,5,6,6,9,9,1,8,5,10,10,7,4,8,8,1,1,6,3,6,8,3,5,1,1,9}

    Returns: 58.75510204081632

  55. {10,7,10,10,6,8,9,10,6,10,9,5,7,4,10,7,6,5,8,10,10,8,9,8,5,5,7,9,8,6,6,9,8,6,9,3,4,6,2,5,9,2,1,10,8,3,8,10,5,7}

    Returns: 50.5

  56. {10,5,9,9,9,5,5,6,9,5,4,7,6,8,5,7,8,9,10,4,10,10,4,4,8,9,7,9,5,6,10,8,10,8,8,10,3,7,4,10,9,5,6,9,8,7,9,10,6,9}

    Returns: 46.279999999999994

  57. {10,9,10,9,9,10,10,10,10,10,10,10,9,10,10,9,10,9,10,10,10,10,9,10,10,10,10,10,10,9,9,7,10,10,8,9,6,9,10,8,8,10,7,10,10,10,8,7,10,9}

    Returns: 19.799999999999997

  58. {10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}

    Returns: 0.0

  59. {1,9,6,1,1,7,10,6,4,4,1,2,1,5,4,1,9,4,7,3,3,6,1,7,4,3,2,7,1,3,3,2,6,4,1,1,4,2,6,8,5,8,6,1,6,5,4,3,6,2}

    Returns: 52.6

  60. {1,4,4,4,4,2,2,2,3,1,4,8,2,1,1,6,5,6,3,1,4,3,4,3,2,1,3,2,3,2,3,3,4,2,5,3,2,1,2,1,1,1,4,2,3,1,4,1,1,5}

    Returns: 32.199999999999996

  61. {2,1,3,2,1,2,1,1,1,2,1,1,3,2,1,2,1,1,1,1,2,2,1,3,1,1,1,2,1,4,1,1,4,3,1,1,2,1,1,1,3,1,1,1,1,1,2,1,1,1}

    Returns: 17.279999999999994

  62. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}

    Returns: 0.0

  63. {5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,4,5}

    Returns: 0.9799999999999898

  64. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2}

    Returns: 0.9800000000000004

  65. {1,1,1,1,1,1,1,1,1,1,1,1,10,10,10,10,10,10,10,10,10,10,10,10}

    Returns: 54.0

  66. {1,2,1,3,1,2,1,4,1,2,1,3,1,2,1}

    Returns: 5.866666666666667

  67. {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}

    Returns: 112.5

    max answer

  68. {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4}

    Returns: 0.0

  69. {1, 2, 3, 4, 4, 3, 2, 1 }

    Returns: 4.0

  70. {1, 2 }

    Returns: 0.5

  71. {1, 2, 3, 4 }

    Returns: 2.0

  72. {1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }

    Returns: 12.5

  73. {1, 2, 7, 1, 3, 6, 9, 3, 8, 5, 5, 3, 2, 4 }

    Returns: 14.714285714285715

  74. {1, 2, 1, 2 }

    Returns: 1.0

  75. {1 }

    Returns: 0.0

  76. {10, 1 }

    Returns: 4.5

  77. {2, 3 }

    Returns: 0.5

  78. {8, 8, 4, 6, 6, 2, 10, 10, 1, 1, 1, 9, 2, 1, 8, 7, 7, 9, 6, 2, 3, 6, 9, 8, 9, 3, 9, 6, 5, 9, 8, 7, 1, 6, 9, 10, 3, 9, 6, 10, 8, 4, 9, 6, 9, 3, 8, 10, 5, 9 }

    Returns: 62.2

  79. {1, 2, 3 }

    Returns: 1.0

  80. {10 }

    Returns: 0.0

  81. {2, 4, 5 }

    Returns: 1.6666666666666667

  82. {1, 3, 1, 3 }

    Returns: 2.0

  83. {1, 3, 2, 4, 5, 8, 7 }

    Returns: 7.142857142857142

  84. {1, 2, 2 }

    Returns: 0.6666666666666666

  85. {5, 3, 7, 9 }

    Returns: 4.0

  86. {1, 1, 3 }

    Returns: 1.3333333333333335

  87. {4, 8, 5, 7, 10, 2, 3, 9, 4, 7, 5, 8, 2, 9, 3, 7, 5, 1, 7, 5, 8, 9, 4, 3, 7, 5, 6, 8, 2, 3, 4, 7, 5, 5, 4, 3, 9, 10, 2, 8, 5, 3, 4, 8, 2, 6, 5, 5, 2 }

    Returns: 50.653061224489804

  88. {3, 3, 2 }

    Returns: 0.6666666666666667

  89. {1, 10, 10, 10 }

    Returns: 6.75


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: