Statistics

Problem Statement for "BalancingAct"

Problem Statement

Dave has a balance with which to weigh objects, and a number of reference weights of known value. All weights are integers between 1 and 100000000 (10^8), inclusive. The balance has 2 pans, each of which can hold any number of objects. The balance will indicate which pan contains more total weight, or that the pans contain equal amounts of weight.

Dave has a problem. His arch nemesis, Earl, has removed the labels from some of the weights, in an attempt to prevent Dave from knowing their values. Dave will attempt to recover the values of the unlabeled weights using the balance and the remaining weights. You are asked to figure out if Dave will succeed.

You will be given a int[] labeled giving the values of all of the weights with their labels intact, and int[] unlabeled, the actual values of the unlabeled weights. Return a String[] with the same number of elements as unlabeled, each "yes" if Dave can determine the value of the corresponding unlabeled weight, or "no" otherwise (quotes for clarity only).

Definition

Class:
BalancingAct
Method:
recover
Parameters:
int[], int[]
Returns:
String[]
Method signature:
String[] recover(int[] labeled, int[] unlabeled)
(be sure your method is public)

Notes

  • Dave knows that the weights are positive integers not exceeding 100000000 (10^8). See example 2.

Constraints

  • labeled will have between 1 and 20 elements, inclusive.
  • unlabeled will have between 1 and 4 elements, inclusive.
  • All elements of labeled will be between 1 and 100000000 (10^8), inclusive.
  • All elements of unlabeled will be between 1 and 100000000 (10^8), inclusive.

Examples

  1. {9,13,15,16}

    {19}

    Returns: {"yes" }

    Dave places the 9 weight and the unlabeled weight in one pan, and the 13 and 15 weights in the other.

  2. {20}

    {10,10}

    Returns: {"yes", "yes" }

    Dave may make multiple weighings.

  3. {33333332,33333334}

    {33333333,73,100000000}

    Returns: {"yes", "no", "yes" }

    Here, Dave uses the fact that all weights are integers between 1 and 100000000.

  4. {12}

    {1,1,2,2}

    Returns: {"yes", "yes", "yes", "yes" }

  5. {31415926,5358979,32384626,43383279,50288419, 71693993,75105820,9749445,92307816,40628620, 89986280,34825342,11706798,21480865,13282306}

    {64709384,46095505,82231725,35940812}

    Returns: {"no", "no", "no", "no" }

  6. {3,12}

    {6,8}

    Returns: {"yes", "no" }

  7. {3}

    {2,4}

    Returns: {"yes", "yes" }

  8. {99999999}

    {50000000,50000000}

    Returns: {"no", "no" }

  9. {3}

    {1,2}

    Returns: {"yes", "yes" }

  10. {4}

    {1,2}

    Returns: {"yes", "yes" }

  11. {4}

    {1,3}

    Returns: {"yes", "yes" }

  12. {5}

    {1,2}

    Returns: {"yes", "no" }

  13. {5}

    {1,4}

    Returns: {"no", "no" }

  14. {24}

    {8,4,2,1}

    Returns: {"no", "no", "no", "no" }

  15. {23}

    {8,4,2,1}

    Returns: {"no", "no", "no", "yes" }

  16. {20}

    {8,4,2,1}

    Returns: {"no", "no", "no", "yes" }

  17. {19}

    {8,4,2,1}

    Returns: {"no", "no", "yes", "yes" }

  18. {17}

    {8,4,2,1}

    Returns: {"no", "yes", "yes", "yes" }

  19. {16}

    {8,4,2,1}

    Returns: {"yes", "yes", "yes", "yes" }

  20. {24,31,44,279}

    {100,124,179}

    Returns: {"yes", "yes", "yes" }

  21. {14285713}

    {99999999,14285714,28571428,57142856}

    Returns: {"no", "yes", "yes", "no" }

  22. {8,3}

    {10,20,30,40}

    Returns: {"no", "no", "no", "no" }

  23. {21506301,23788680,21703757,12754441,48935164,41419945,2341550,32803390,43506193,15314951,5698498,5996767,7457107,365784,12953324,20243298,3547574,6020268,49736624,17343187}

    {98823960}

    Returns: {"no" }

  24. {11842625,40118192,21920663,28798437,18680358,6677372,29339336,46915392,48274551,10875231,7430247,4372697,25791509,28233260,44208191,31949192,36024579,34603771,35707586,29947469}

    {60560534}

    Returns: {"no" }

  25. {3281035,737559,38713231,41008356,21920566,30051582,41534699,23936698,20923768,41370391,31666787,15955782,43331537,17151157,18573902,32813452,4992302,23431821,6192831,15779330}

    {98205727}

    Returns: {"no" }

  26. {49594853,27998397,37144792,20401475,8948726,45893641,22084389,44915968,43646790,32693824,10484036,7368067,41636814,45145891,20153896,45229001,36585712,2094565,10469688,47073423}

    {97211724}

    Returns: {"no" }

  27. {44822604,38055840,46661507,23554953,27843597,36830999,45074595,7683102,17967113,36764817,34079461,11501679,48624874,27385109,30175821,20173094,20673643,31350597,24862530,47187977}

    {53563221}

    Returns: {"no" }

  28. {1482787,45359967,17356733,49860902,32626800,17489205,5933067,6159983,40950686,49489693,31977664,4647208,40644693,47753568,20506697,36673566,25588744,39335190,24083677,3153613}

    {59613906}

    Returns: {"yes" }

  29. {7586247,18695456,46283567,5951567,3862974,7561252,1685331,41059110,18643931,25565296,19629377,14466572,581295,26821603,39274700,42856588,46917763,39201185,43576815,41170939}

    {99592578}

    Returns: {"yes" }

  30. {8928433,33679573,32475998,45829876,27947173,33628963,17081699,8050533,34464900,14382513,8358658,40862276,19719838,43853472,49761232,39509656,4699711,4953707,4425284,19743091}

    {88603172}

    Returns: {"yes" }

  31. {38143693,2494926,30988268,41234367,43478613,39187288,20939784,40751919,23039599,22711174,1796040,26002111,20101628,9376884,21895685,6421485,3969759,22550618,16874787,29170735}

    {95397509}

    Returns: {"yes" }

  32. {11269143,5648837,43876944,49618532,38250362,8065988,22595151,28065409,4695464,16296973,41468709,48963923,33822595,36445387,44281379,19641992,35330455,34157163,33505092,22858632}

    {97176476}

    Returns: {"yes" }

  33. {904284,4959465,9192495,13431453,407150,11825182,408568,8137267,9007778,11984295,5288416,11295074,11201149,2013877,6918943,2564538,3368870,13732918,3791679,747341}

    {96466581,91583530,95716346,98367794}

    Returns: {"yes", "yes", "yes", "yes" }

  34. {12983910,2684677,5442394,8285588,3264906,6347620,3815672,13210545,13133395,5243941,6986553,10512487,3296391,1817385,11260128,6575615,14880434,3451682,3331849,6131456}

    {98503512,97964903,98503512,95468590}

    Returns: {"yes", "yes", "yes", "yes" }

  35. {1826123,4486303,13161230,9398317,7631390,5461233,7502440,384390,12596114,13298241,1978325,10928025,4685544,11814446,11436988,2256420,10824455,6649611,6805422}

    {97424904,97634848,95823658,90010572}

    Returns: {"yes", "yes", "yes", "yes" }

  36. {11858010,3848358,8672096,13016097,12791787,12556767,8563713,489709,9304011,7949079,6073765,14871348,5056135,9614901,6769346,11326285,3383028,8520403,5497675}

    {94618816,96805781,94618816,96218014}

    Returns: {"yes", "yes", "yes", "yes" }

  37. {904284,4959465,9192495,13431453,407150,11825182,408568,8137267,9007778,11984295,5288416,11295074,11201149,2013877,6918943,2564538,3368870,13732918,3791679,747341}

    {97295843,97669984,97295843,99826520}

    Returns: {"no", "no", "no", "no" }

  38. {1489751,13292223,10260852,954160,10719087,8951908,7095761,10584131,5419651,2986456,9995037,9623190,5516809,4254322,6740561,14476043,3389346,7348865,14310633,2220957}

    {99324401,98500345,96872706,92190504}

    Returns: {"no", "no", "no", "no" }

  39. {12765109,2621421,4920830,12790843,13866806,2724153,14553601,2455124,7282203,118182,13178175,8170948,5972077,13926206,3084719,12460382,13496654,10800197,3938989}

    {96426937,96426937,93280200,97307743}

    Returns: {"no", "no", "no", "no" }

  40. {9506193,6707455,8428236,13904677,1724276,12512988,2433208,12901048,5581929,1409860,10805466,9038218,8478335,3534291,12086092,11927035,6653471,6767372,9536654}

    {89399692,97934764,97934764,87663470}

    Returns: {"no", "no", "no", "no" }

  41. {9859,9731,9038,8966,27594}

    {187,36,1031,82}

    Returns: {"no", "no", "no", "no" }

  42. {44334371,29147259,49863480,9980648,54466992,41799537,23790564,33688636,2814936,15040401,48303093,32235388,993460,13222380,109508,5364280,21423765,7141716}

    {18352660,35329353}

    Returns: {"yes", "yes" }

  43. {100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000,100000000}

    {100000000,100000000,100000000,100000000}

    Returns: {"yes", "yes", "yes", "yes" }

  44. {1,3,9,27,81,243,729,2187,6561,19683,59049,177147,531441,1594323,4782969,14348907,43046721,100000000,100000000}

    {79726983,714009,86235854}

    Returns: {"yes", "yes", "yes" }

  45. {28083525,75409932,88357472,35843324,86311482,76236634,85195573,8091632,11529556,53320738,41777726,92024015,9130896,55122987,15985408}

    {27983660,14642539,96354810,30894745}

    Returns: {"no", "no", "no", "yes" }

  46. {37323961,44246232,66417577,97174096,53816642,28391076,12038589,52984720,54904280,36282426,12354831,23780635,76296311,11444952,48372759}

    {63989715,23331754,44314661,12677090}

    Returns: {"no", "no", "yes", "yes" }

  47. {20583181,2292801,78828137,47556782,92848300,56801355,88240656,33117979,28518266,50251166,44541832,56664760,43989453,43433996,26898905,74837145}

    {78016248,15119496,40005752,66582689}

    Returns: {"no", "no", "yes", "yes" }

  48. {8979192,61392721,74987637,28508508,36578870,86097842,75283096,66356898,74666198,17928993,32871944,5006736,28981827,8896607,59126062,32652104}

    {94449371,42642287,39146664,56471761}

    Returns: {"no", "yes", "yes", "no" }

  49. {28083525,75409932,88357472,35843324,86311482,76236634,85195573,8091632,11529556,53320738,41777726,92024015,9130896,55122987,15985408,97477617,5438184}

    {11420243,87445582,46034399}

    Returns: {"yes", "yes", "no" }

  50. {42703845,48314472,1670092,99522422,55430167,3366750,50607697,55211572,1803671,28607403,34584235,98251504,40074391,41179191,48906185,34888738,58901560}

    {88240655,71744635,64854518}

    Returns: {"no", "yes", "yes" }

  51. {41693670,62293072,80079804,30230682,17041865,96495874,87189258,93091725,32088347,7332131,78955072,4265368,68370955,62835099,67372258,24527186,71809429,95042073}

    {4192122,8743400,9792599}

    Returns: {"no", "yes", "no" }

  52. {49686085,83716802,31192870,57871767,50356839,71954632,97407652,87692133,81067573,36152371,79285562,58882701,82407303,45215976,56199024,58523811,25650726,73913654}

    {96969131,4593789,37226417}

    Returns: {"no", "yes", "no" }

  53. {28083525,25409932,38357472,35843324,36311482,26236634,35195573,8091632,11529556,3320738,41777726,42024015,9130896}

    {4426902,13169191,10617108}

    Returns: {"no", "yes", "no" }

  54. {38134514,12714763,18277518,3418426,43408723,17314648,14923298,33212317,27230276,27445119,29706691,31236023}

    {13498354,17669378,26925455}

    Returns: {"no", "no", "yes" }

  55. {7526533,20420091,30099253,23645698,34037485,27945238,47120349,24006613,9511544,13133890,2584361}

    {47334700,42173772,29635450}

    Returns: {"no", "yes", "no" }

  56. {44329206,37018617,45823325}

    {9071686,44310194,38199079}

    Returns: {"no", "no", "no" }

  57. {7543326,40799811,13277407,15713613,17422448,10670965,10141137,30136987,39348951,32956894,1491616,38707470,28232482,35004347,17192798,30635939,2192455,22118879,24422996,15029334}

    {38136248,21686260,7747486,14920257}

    Returns: {"yes", "yes", "yes", "yes" }

  58. {1677102,13510094,18544021,18573813,21375583,20341266,19815344,24845896,8165155,4579051,4814489}

    {9464302}

    Returns: {"no" }

  59. {498919,4405450,3378844,3981228,6314825,4564845,4936119,31640,2207832,1913614,8110781,4843511,8508938,6524955,855727,5931449,2931770,3821089,79533}

    {6919395}

    Returns: {"yes" }

  60. {62245647,7327597,20563909,52527368,60080113,37007387,9645563,57681015,45623791,2287001,20700785,7096855,64343371}

    {4935240,54267892}

    Returns: {"no", "no" }

  61. {13364077,23022905,39026403,20820514,1517838,23995271,20322900,30377933,4434664,11075156,34190292,16607870}

    {7908383,1369680,11905879,14612243}

    Returns: {"no", "no", "no", "no" }

  62. {881034,8676416,7594925,5070099,8331648,745312}

    {2044775}

    Returns: {"no" }

  63. {4349606,4251007}

    {3061268,4422499}

    Returns: {"no", "no" }

  64. {9113747,88174097,18844925,15460443,34697014,65825931,8955249,89642148,50304206,35787369,96210962,89384520,15968672}

    {14799002}

    Returns: {"no" }

  65. {11890343,3393703,11827968}

    {8127117,2566640,9033241}

    Returns: {"no", "no", "no" }

  66. {4083469,1938808,4957632,476871,4409476,3827214,1861817,2436995,2687978,1858356,2027948,2694937}

    {4427298,3589267,1472722,1848629}

    Returns: {"no", "no", "no", "no" }

  67. {85847556,52135556,72166757,66069392,54983135,36469227,89186274,48602564,69455528,63672005,85215541,86787637}

    {68713236,66839501}

    Returns: {"no", "no" }

  68. {49243005,4104078,45817706,39554614,76602248,24417537,13856266,38035931,16217542,39189775,44717030,3456922,27426726}

    {34110224,38090166,15789370,11138560}

    Returns: {"no", "no", "no", "no" }

  69. {43879840,39733035,46006817,19177094,48271564,45431498,31381329,8778573,20972479,40031110,7689384,20378553,21256154,7479340,10410158,3862957,22699345,31781431,887211}

    {32141821,34581743,5067600}

    Returns: {"yes", "yes", "yes" }

  70. {17334618,34681189,17426189,1397867,11349703,29975963,21464943}

    {25150898,2491419,5158268,2414854}

    Returns: {"no", "no", "no", "no" }

  71. {1}

    {2, 8, 9}

    Returns: {"yes", "no", "no" }

  72. {8}

    {1, 5, 10}

    Returns: {"yes", "no", "no" }

  73. {1}

    {4,2,2}

    Returns: {"no", "no", "no" }

  74. {1}

    {8,10,2,5}

    Returns: {"no", "no", "no", "no" }

  75. {2}

    {22,9,16,5}

    Returns: {"no", "no", "no", "no" }

  76. {303940,303984,180037,238709,292253,265042,303984,303986}

    {303975,303924,303953,303980}

    Returns: {"no", "no", "no", "no" }

  77. {597,12,2}

    {29,119,30,49}

    Returns: {"no", "no", "no", "no" }

  78. {94}

    {1,2,3,7}

    Returns: {"no", "no", "no", "no" }

  79. {14522,12501,1129,610,22,48,764}

    {1,157,242,113326}

    Returns: {"yes", "no", "no", "no" }

  80. {110,1520,1815,1347,997,106}

    {1543,97,158}

    Returns: {"no", "yes", "no" }

  81. {76,8}

    {26,38,82,1}

    Returns: {"no", "no", "no", "yes" }

  82. {80,8,43,80,80,80}

    {12,79,74}

    Returns: {"no", "yes", "no" }

  83. {7,29,50}

    {178,231,1,47}

    Returns: {"no", "no", "yes", "no" }

  84. {1361956, 7579013, 28145517, 76140463, 83515281, 86969586, 62888636, 26402540, 98152103, 58176573, 61402893, 27860890, 9580639, 70870045, 46139320, 78509023, 84027667, 61263305, 41082556, 1 }

    {48595331 }

    Returns: {"yes" }

  85. {13 }

    {4, 4, 5 }

    Returns: {"yes", "yes", "yes" }

  86. {100, 411 }

    {2, 3, 4, 5 }

    Returns: {"no", "no", "no", "no" }


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: