Statistics

Problem Statement for "CandyBoxes"

Problem Statement

Little Billy has several boxes full of candies in front of him. However he doesn't like that these boxes don't each contain the same number of candies, so he decides to eat some of the candies until they do.

Specifically, little Billy follows this algorithm:
Step 1: He calculates min, the minimum number of candies in a box, and max, the maximum number of candies in a box. If these numbers are equal the algorithm ends, otherwise continue with step 2.
Step 2: He arbitrarily chooses a box with max candies and eats min candies from it, then he returns to step 1.

You will be given a int[] candies. The ith element of candies is equal to the number of candies in the ith box. Return the number of candies remaining in each of the boxes after the algorithm described above is executed.

Definition

Class:
CandyBoxes
Method:
remainingCandies
Parameters:
int[]
Returns:
int
Method signature:
int remainingCandies(int[] candies)
(be sure your method is public)

Constraints

  • candies will contain between 1 and 50 elements, inclusive.
  • Each element of candies will be between 1 and 1,000, inclusive.

Examples

  1. {7}

    Returns: 7

    There is only one box, so Billy doesn't eat any candies for now.

  2. {7, 7}

    Returns: 7

  3. {7, 21, 14}

    Returns: 7

    First, Billy eats 7 candies from the second box, leaving 14 candies in it. In the following two steps, he will eat 7 candies from the second and third boxes, leaving 7 candies in each.

  4. {3, 4, 5, 6, 7}

    Returns: 1

  5. {1, 1, 1, 1, 1, 1, 1, 1, 1}

    Returns: 1

  6. {10, 20, 30, 40, 50, 60}

    Returns: 10

  7. {343, 686}

    Returns: 343

  8. {632, 158, 948}

    Returns: 158

  9. {765, 1, 765, 765}

    Returns: 1

  10. {924, 308, 924, 924, 308}

    Returns: 308

  11. {856, 856, 856, 856, 856, 428}

    Returns: 428

  12. {800, 400, 400, 800, 200, 400, 200}

    Returns: 200

  13. {744, 930, 93, 372, 372, 930, 558, 930}

    Returns: 93

  14. {896, 704, 128, 832, 256, 128, 768, 960, 576}

    Returns: 64

  15. {879, 586, 586, 879, 879, 586, 879, 586, 879, 586}

    Returns: 293

  16. {915, 915, 915, 915, 305, 610, 915, 610, 610, 610, 610}

    Returns: 305

  17. {366, 549, 915, 183, 549, 549, 183, 366, 915, 549, 915, 366}

    Returns: 183

  18. {623, 534, 267, 801, 801, 445, 890, 178, 801, 979, 890, 178, 623}

    Returns: 89

  19. {804, 603, 402, 201, 402, 603, 402, 603, 201, 804, 201, 201, 201, 804}

    Returns: 201

  20. {630, 42, 966, 210, 714, 252, 378, 756, 462, 42, 462, 714, 756, 966, 252}

    Returns: 42

  21. {321, 963, 107, 856, 214, 749, 428, 963, 963, 535, 107, 321, 749, 535, 749, 963}

    Returns: 107

  22. {865, 346, 519, 346, 346, 519, 865, 692, 173, 692, 865, 346, 519, 692, 692, 865, 519}

    Returns: 173

  23. {225, 600, 100, 850, 150, 400, 900, 400, 75, 650, 50, 125, 925, 75, 425, 200, 75, 125}

    Returns: 25

  24. {69, 621, 759, 621, 138, 690, 966, 138, 690, 828, 690, 552, 552, 759, 138, 897, 69, 897, 621}

    Returns: 69

  25. {924, 132, 924, 660, 924, 264, 132, 660, 924, 660, 132, 792, 528, 396, 132, 924, 396, 792, 792, 528}

    Returns: 132

  26. {660, 198, 462, 990, 330, 396, 660, 726, 66, 66, 462, 594, 132, 396, 792, 264, 396, 858, 726, 528, 858}

    Returns: 66

  27. {371, 636, 742, 53, 636, 265, 53, 424, 530, 106, 530, 53, 530, 424, 530, 159, 159, 848, 689, 318, 424, 424}

    Returns: 53

  28. {59, 885, 118, 118, 236, 531, 767, 531, 649, 295, 590, 885, 295, 59, 944, 885, 118, 177, 708, 826, 59, 826, 590}

    Returns: 59

  29. {184, 276, 184, 92, 828, 828, 276, 920, 368, 552, 828, 368, 276, 368, 92, 828, 276, 460, 276, 920, 368, 460, 184, 920}

    Returns: 92

  30. {936, 416, 832, 832, 884, 572, 988, 364, 728, 728, 884, 468, 416, 104, 104, 312, 728, 364, 988, 312, 260, 104, 884, 312, 52}

    Returns: 52

  31. {348, 116, 696, 203, 232, 957, 290, 754, 319, 899, 783, 464, 493, 638, 406, 203, 348, 261, 29, 493, 406, 957, 696, 638, 928, 551}

    Returns: 29

  32. {183, 793, 976, 427, 915, 793, 122, 305, 488, 671, 854, 122, 671, 61, 61, 488, 854, 610, 793, 854, 549, 61, 915, 122, 305, 549, 915}

    Returns: 61

  33. {332, 581, 332, 664, 498, 83, 664, 830, 166, 83, 166, 830, 332, 747, 166, 581, 83, 249, 996, 498, 913, 664, 166, 581, 913, 83, 913, 913}

    Returns: 83

  34. {270, 90, 90, 180, 315, 630, 135, 765, 945, 900, 360, 900, 540, 585, 45, 945, 630, 945, 720, 90, 270, 450, 720, 540, 945, 900, 90, 540, 450}

    Returns: 45

  35. {342, 798, 684, 798, 114, 570, 684, 912, 798, 228, 684, 456, 342, 684, 684, 798, 912, 342, 684, 342, 684, 570, 912, 342, 342, 798, 342, 912, 912, 912}

    Returns: 114

  36. {240, 780, 360, 780, 300, 420, 60, 300, 720, 660, 180, 780, 420, 180, 420, 480, 720, 480, 480, 840, 900, 960, 660, 180, 360, 660, 900, 540, 660, 540, 180}

    Returns: 60

  37. {518, 925, 592, 481, 666, 259, 777, 592, 703, 333, 185, 703, 851, 703, 148, 111, 296, 185, 111, 444, 185, 814, 703, 148, 925, 814, 222, 481, 666, 148, 185, 925}

    Returns: 37

  38. {156, 390, 546, 156, 702, 468, 390, 936, 156, 468, 936, 936, 468, 780, 78, 936, 702, 468, 390, 702, 78, 546, 936, 858, 624, 78, 234, 468, 858, 78, 780, 702, 312}

    Returns: 78

  39. {183, 61, 366, 854, 732, 976, 732, 366, 671, 793, 122, 305, 549, 915, 610, 427, 366, 366, 854, 793, 671, 366, 305, 244, 915, 427, 305, 610, 854, 671, 488, 854, 366, 122}

    Returns: 61

  40. {858, 792, 198, 330, 660, 264, 528, 66, 924, 858, 858, 528, 726, 462, 66, 396, 198, 924, 330, 462, 594, 462, 462, 264, 792, 660, 924, 924, 396, 528, 990, 528, 924, 792, 594}

    Returns: 66

  41. {168, 280, 168, 672, 336, 672, 672, 840, 168, 616, 952, 504, 392, 224, 672, 896, 504, 168, 952, 168, 56, 896, 392, 672, 448, 560, 952, 672, 112, 896, 672, 168, 616, 728, 504, 840}

    Returns: 56

  42. {90, 90, 900, 180, 180, 810, 720, 810, 630, 720, 360, 630, 450, 270, 270, 900, 720, 720, 540, 360, 180, 90, 900, 180, 180, 270, 90, 450, 810, 180, 180, 810, 720, 900, 180, 990, 360}

    Returns: 90

  43. {384, 336, 240, 378, 696, 252, 432, 210, 510, 426, 672, 36, 726, 822, 222, 600, 942, 450, 288, 264, 384, 414, 132, 294, 528, 342, 360, 48, 444, 828, 144, 522, 690, 612, 474, 750, 828, 108}

    Returns: 6

  44. {598, 736, 736, 92, 138, 322, 414, 506, 828, 920, 322, 138, 460, 322, 276, 414, 322, 874, 828, 46, 644, 368, 966, 828, 736, 460, 782, 828, 598, 460, 966, 874, 230, 782, 414, 138, 598, 782, 828}

    Returns: 46

  45. {833, 391, 561, 578, 867, 697, 680, 34, 323, 646, 442, 187, 289, 204, 289, 697, 136, 697, 493, 425, 901, 102, 408, 221, 612, 884, 663, 935, 748, 867, 476, 289, 748, 782, 221, 748, 323, 544, 187, 561}

    Returns: 17

  46. {473, 947, 899, 790, 257, 229, 968, 787, 67, 3, 602, 218, 204, 829, 818, 676, 139, 573, 408, 818, 698, 13, 629, 866, 461, 924, 428, 495, 955, 939, 782, 52, 299, 652, 118, 697, 905, 389, 716, 769, 80}

    Returns: 1

  47. {486, 243, 810, 648, 324, 648, 810, 81, 162, 648, 162, 81, 567, 729, 81, 81, 324, 324, 810, 486, 324, 81, 486, 324, 810, 486, 567, 81, 243, 486, 405, 972, 729, 567, 729, 486, 891, 405, 324, 243, 567, 729}

    Returns: 81

  48. {8, 576, 400, 504, 544, 352, 408, 800, 424, 616, 296, 952, 736, 656, 816, 808, 672, 208, 408, 368, 24, 512, 400, 848, 920, 296, 352, 792, 648, 664, 808, 96, 72, 616, 464, 472, 224, 120, 624, 912, 344, 656, 416}

    Returns: 8

  49. {448, 448, 196, 448, 756, 28, 756, 840, 448, 28, 700, 28, 140, 644, 420, 504, 616, 28, 840, 784, 448, 980, 336, 252, 84, 896, 336, 140, 448, 504, 56, 280, 448, 168, 420, 196, 336, 868, 616, 924, 420, 616, 616, 196}

    Returns: 28

  50. {612, 476, 612, 476, 68, 136, 680, 884, 340, 680, 204, 952, 952, 204, 476, 136, 612, 816, 136, 748, 748, 68, 680, 816, 204, 204, 680, 680, 476, 952, 816, 544, 136, 680, 952, 204, 544, 408, 612, 544, 544, 748, 612, 952, 612}

    Returns: 68

  51. {25, 775, 900, 50, 475, 50, 400, 225, 875, 500, 25, 650, 425, 975, 775, 175, 400, 750, 350, 575, 925, 850, 625, 1000, 450, 875, 475, 200, 550, 125, 775, 750, 600, 825, 500, 325, 500, 750, 225, 825, 325, 575, 175, 500, 275, 950}

    Returns: 25

  52. {702, 540, 918, 972, 270, 324, 918, 216, 108, 756, 216, 378, 378, 648, 432, 432, 648, 432, 864, 918, 972, 162, 918, 864, 432, 972, 486, 918, 162, 702, 756, 540, 216, 702, 162, 270, 54, 972, 594, 162, 162, 324, 864, 810, 216, 810, 702}

    Returns: 54

  53. {76, 836, 228, 228, 684, 228, 152, 532, 456, 988, 836, 988, 608, 152, 760, 456, 532, 152, 988, 760, 456, 912, 836, 152, 152, 228, 456, 228, 684, 380, 304, 608, 304, 836, 380, 836, 760, 76, 912, 532, 304, 152, 304, 684, 152, 988, 380, 456}

    Returns: 76

  54. {840, 56, 336, 168, 728, 840, 56, 616, 840, 896, 112, 224, 224, 168, 392, 840, 224, 784, 784, 280, 840, 952, 448, 672, 168, 728, 896, 504, 616, 168, 616, 392, 168, 672, 448, 560, 448, 112, 672, 504, 392, 952, 560, 448, 56, 952, 336, 896, 952}

    Returns: 56

  55. {825, 605, 880, 385, 440, 440, 660, 825, 220, 770, 715, 110, 770, 165, 330, 990, 715, 165, 495, 715, 495, 935, 550, 165, 220, 275, 220, 110, 385, 825, 660, 440, 110, 715, 440, 660, 880, 825, 605, 495, 550, 165, 385, 715, 880, 605, 550, 550, 605, 605}

    Returns: 55

  56. {61, 671, 671, 244, 732, 976, 732, 854, 183, 366, 732, 549, 244, 61, 793, 854, 793, 549, 549, 854, 976, 671, 549, 61, 183, 854, 305, 610, 732, 488, 793, 915, 671, 122, 488, 427, 488, 549, 610, 305, 854, 427, 671, 244, 488, 122, 366, 183, 732, 122}

    Returns: 61

  57. {140, 497, 707, 525, 308, 91, 840, 889, 161, 770, 868, 889, 602, 462, 581, 364, 609, 546, 700, 189, 840, 616, 182, 266, 728, 868, 301, 686, 602, 945, 238, 217, 476, 980, 658, 329, 42, 70, 266, 259, 14, 350, 735, 455, 392, 28, 819, 896, 994, 742}

    Returns: 7

  58. {286, 52, 832, 104, 26, 910, 910, 260, 650, 858, 416, 624, 858, 702, 390, 832, 806, 156, 520, 650, 234, 468, 650, 988, 182, 78, 676, 806, 702, 130, 806, 260, 130, 442, 208, 910, 962, 312, 312, 364, 208, 234, 26, 78, 754, 806, 26, 546, 884, 520}

    Returns: 26

  59. {975, 364, 416, 806, 195, 208, 897, 403, 884, 819, 507, 325, 702, 715, 741, 871, 884, 429, 312, 91, 182, 390, 325, 754, 637, 286, 949, 299, 455, 520, 91, 208, 624, 585, 169, 390, 377, 871, 494, 429, 650, 364, 52, 819, 91, 611, 533, 793, 494, 156}

    Returns: 13

  60. {270, 450, 666, 270, 630, 198, 576, 252, 270, 414, 810, 432, 900, 72, 396, 774, 288, 972, 108, 126, 648, 216, 360, 900, 144, 198, 684, 18, 18, 882, 108, 594, 252, 954, 450, 918, 414, 90, 684, 702, 486, 378, 684, 612, 216, 666, 306, 270, 594, 126}

    Returns: 18

  61. {114, 627, 399, 456, 399, 798, 399, 798, 57, 570, 399, 57, 855, 513, 57, 513, 912, 342, 171, 855, 684, 114, 570, 399, 912, 684, 57, 456, 285, 627, 456, 912, 342, 741, 798, 855, 798, 855, 228, 627, 912, 114, 342, 171, 855, 798, 570, 342, 456, 285}

    Returns: 57

  62. {72, 864, 648, 864, 792, 864, 432, 720, 792, 576, 72, 72, 288, 936, 72, 936, 144, 720, 720, 720, 216, 576, 936, 72, 936, 720, 72, 432, 360, 72, 720, 576, 360, 432, 936, 72, 144, 792, 720, 72, 288, 936, 720, 576, 720, 288, 792, 792, 504, 432}

    Returns: 72

  63. {494, 988, 342, 152, 380, 38, 988, 38, 266, 722, 722, 798, 760, 798, 988, 76, 570, 494, 836, 494, 836, 456, 190, 570, 114, 342, 570, 304, 760, 874, 760, 190, 228, 38, 760, 874, 152, 608, 836, 722, 418, 418, 380, 760, 152, 646, 76, 380, 190, 76}

    Returns: 38

  64. {320, 576, 704, 384, 256, 384, 832, 384, 128, 384, 256, 512, 704, 896, 320, 320, 640, 576, 576, 832, 64, 384, 704, 256, 960, 192, 448, 896, 832, 960, 384, 960, 192, 640, 896, 384, 192, 832, 448, 320, 384, 320, 704, 192, 640, 832, 64, 128, 576, 576}

    Returns: 64

  65. {159, 212, 583, 106, 424, 742, 795, 265, 530, 954, 954, 954, 689, 159, 848, 53, 848, 318, 159, 795, 901, 265, 318, 318, 477, 318, 424, 583, 530, 689, 424, 318, 106, 901, 424, 636, 477, 636, 371, 901, 583, 477, 424, 636, 318, 795, 689, 954, 371, 265}

    Returns: 53

  66. {1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000}

    Returns: 1000

  67. {951, 952, 953, 954, 955, 956, 957, 958, 959, 960, 961, 962, 963, 964, 965, 966, 967, 968, 969, 970, 971, 972, 973, 974, 975, 976, 977, 978, 979, 980, 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000}

    Returns: 1


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: