Statistics

Problem Statement for "Jumping"

Problem Statement

Frog Suwako lives on a two-dimensional plane. She likes to jump. Currently, she is located in the point (0, 0). She would like to reach the point (x, y). You are given the ints x and y.


Suwako wants to reach the desired destination in a specific way: using a series of jumps with pre-determined lengths. You are given these lengths in a int[] jumpLenghts. For example, if jumpLengths = { 2, 5 }, Suwako must make a jump of length exactly 2, followed by a jump of length exactly 5.


Note that Suwako can jump onto arbitrary points in the plane, they are not required to have integer coordinates. Return "Able" (quotes for clarity) if Suwako is able to reach her desired destination from (0, 0) using the desired sequence of jump lengths. Otherwise, return "Not able".

Definition

Class:
Jumping
Method:
ableToGet
Parameters:
int, int, int[]
Returns:
String
Method signature:
String ableToGet(int x, int y, int[] jumpLengths)
(be sure your method is public)

Constraints

  • x will be between -1,000 and 1,000, inclusive.
  • y will be between -1,000 and 1,000, inclusive.
  • len will contain between 1 and 50 elements, inclusive.
  • Each element in len will be between 1 and 1,000, inclusive.

Examples

  1. 5

    4

    {2, 5}

    Returns: "Able"

    One possibility is to jump from (0, 0) to (2, 0), and then from (2, 0) to (5, 4).

  2. 3

    4

    {4}

    Returns: "Not able"

    The distance from (0, 0) to (3, 4) is 5. You cannot get there using a single jump of length 4 - it is too short.

  3. 3

    4

    {6}

    Returns: "Not able"

    The distance from (0, 0) to (3, 4) is 5. You cannot get there using a single jump of length 6 - it is too long.

  4. 0

    1

    {100, 100}

    Returns: "Able"

    Here, one possible solution looks as follows: Let t = sqrt(100*100 - 0.5*0.5). Suwoko will make her first jump from (0, 0) to (t, 0.5), and her second jump from (t, 0.5) to (0, 1).

  5. 300

    400

    {500}

    Returns: "Able"

  6. 11

    12

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

    Returns: "Able"

  7. 11

    12

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

    Returns: "Not able"

  8. 421

    326

    {530, 701, 509, 753, 257, 257, 120, 712, 352, 844, 706, 109, 394}

    Returns: "Able"

  9. -742

    353

    {933, 918, 848, 973, 869, 981, 224, 550, 593, 165, 170, 552, 428, 191, 625, 636, 921, 945, 311, 863}

    Returns: "Able"

  10. -350

    215

    {711, 237}

    Returns: "Not able"

  11. -294

    92

    {398, 676, 492, 191, 345, 135, 426, 630, 31, 728, 127, 744, 335, 105, 761, 750, 621, 257, 933, 573, 614, 491, 510, 120, 406, 696, 50, 328, 720, 498}

    Returns: "Able"

  12. -542

    -631

    {357, 185, 94, 246, 8, 307, 510, 755, 353, 666, 784, 739, 802, 691, 331, 338, 196, 657, 964, 12, 428, 43, 107, 969, 213, 2, 511, 481, 659, 572, 332, 815, 848, 565, 198, 626, 439, 932, 19, 488, 152, 188, 914, 180, 996, 751, 751, 914, 563, 135}

    Returns: "Able"

  13. 456

    -572

    {831, 141, 558, 679, 727, 504, 598, 409, 894, 989, 239, 86, 94, 189, 721, 212, 747, 388, 711, 210, 888, 669}

    Returns: "Able"

  14. -688

    -29

    {675}

    Returns: "Not able"

  15. 343

    835

    {371, 788, 303}

    Returns: "Able"

  16. -843

    953

    {401, 997, 143, 586, 861, 48, 925, 732, 159, 387, 220}

    Returns: "Able"

  17. 521

    411

    {683, 875, 62, 7, 603, 269}

    Returns: "Able"

  18. 777

    998

    {724, 90, 107, 320, 131, 656, 733, 994, 975, 596, 811, 674, 56, 731, 96, 246, 706, 695, 949}

    Returns: "Able"

  19. -227

    977

    {761, 742, 757, 645, 144, 641, 738, 680, 136, 150, 530, 211, 608, 418, 256, 788, 374, 627, 446, 113, 173, 596, 154, 54, 184}

    Returns: "Able"

  20. -712

    313

    {177, 78, 777, 400, 655, 729, 3, 162, 456, 871, 317, 695, 382, 931, 481, 605, 387, 360}

    Returns: "Able"

  21. 140

    138

    {703, 366, 454, 733, 837, 433, 564, 18, 108, 584, 911, 468, 117, 547, 720, 529, 72, 108, 257, 521, 354, 529, 155, 431, 478, 49, 521, 205, 415, 811}

    Returns: "Able"

  22. 455

    -397

    {132, 702, 710, 752, 23, 818, 653, 925, 696, 472, 154, 626, 979, 617, 143, 598, 89, 733, 918, 405, 744, 396, 750, 408, 937, 303, 768, 46, 564, 341, 399, 897, 52, 808, 768, 998, 979, 651, 810, 331, 361, 717, 162, 294, 210, 754, 99, 131, 635}

    Returns: "Able"

  23. -92

    854

    {32, 693, 402, 675, 295, 694, 166, 950, 766, 738, 459, 842, 49, 944, 230, 216, 390, 210, 389, 755, 244, 502, 272, 517, 565, 278, 913, 6, 612, 213, 783, 93, 124, 202, 325, 5, 438, 603, 805}

    Returns: "Able"

  24. -285

    793

    {576, 907, 760, 627, 897, 860, 764, 359, 578, 485, 748, 157, 949, 606, 455, 195, 360, 431, 324, 884, 25, 448, 203, 848}

    Returns: "Able"

  25. 692

    -538

    {589, 305, 134, 559, 843, 415, 568, 729, 507, 392, 1, 993, 119, 399, 719, 869, 976, 580, 120, 364, 597, 380, 917, 467, 841, 233, 431, 415, 156, 572, 312, 180, 797, 301, 217, 904, 994, 56, 729, 482, 906, 30, 38}

    Returns: "Able"

  26. 506

    -817

    {378, 683, 555, 507, 758, 530, 581, 642}

    Returns: "Able"

  27. 676

    -421

    {661, 491, 617, 733, 607, 115, 186, 648, 228, 436, 59, 184, 111, 743, 375, 605, 672, 873, 606, 481, 672, 980, 718, 482, 681, 792, 776, 1, 47, 833, 469, 859, 227, 179}

    Returns: "Able"

  28. -803

    654

    {704, 464, 923, 512, 894}

    Returns: "Able"

  29. -285

    -139

    {920, 513, 93, 233, 221, 224, 39, 610, 453, 523, 729, 977, 153, 518, 424, 403, 705, 937, 351, 36, 826, 129, 965, 427, 166, 776, 405, 165, 874, 259, 625, 822}

    Returns: "Able"

  30. -868

    -285

    {227, 605, 452, 38, 839, 626, 380, 420, 576, 689, 898, 821, 79, 967, 798, 56, 675, 229, 403, 677, 280, 383, 977, 262, 328}

    Returns: "Able"

  31. 877

    739

    {762, 343, 698, 34, 806, 319, 876, 939, 321, 758, 440, 289, 772, 528, 857, 869, 65, 571, 480, 268, 339, 412, 207, 747, 279}

    Returns: "Able"

  32. 548

    595

    {143, 597, 209, 72, 169, 377, 8, 313, 949, 718, 358, 219, 855, 991, 854, 240, 450, 985, 712, 975, 822, 637, 329, 786, 494, 268, 244, 532, 955, 140, 984, 284, 685, 16, 597}

    Returns: "Able"

  33. -195

    -449

    {423, 214}

    Returns: "Able"

  34. -860

    -463

    {398, 577, 716, 850, 841, 514, 889, 423, 280, 583, 941, 867, 547, 801, 164, 923, 279, 46, 237, 758, 900, 186, 272, 818, 993, 433, 99, 132, 246, 185, 187, 636, 803, 705, 851, 578}

    Returns: "Able"

  35. 508

    -610

    {779, 338, 288, 620, 516, 888, 58, 454, 554, 889, 584, 786, 176, 90, 810, 354, 596, 98, 570, 271, 169, 239, 199, 484, 145, 592, 101, 943, 354, 586, 903, 190, 146, 520, 91, 545, 670, 343, 761, 698, 701, 978, 126}

    Returns: "Able"

  36. 975

    181

    {704}

    Returns: "Not able"

  37. 592

    -447

    {957, 527, 521, 976, 297, 149, 918, 609, 327, 846}

    Returns: "Able"

  38. -297

    1

    {37, 646, 305, 644, 26, 256, 370, 260, 324, 880, 183, 708, 740, 357, 124, 919, 336}

    Returns: "Able"

  39. -262

    -185

    {270, 335, 486, 121, 907, 215, 681, 71, 280}

    Returns: "Able"

  40. 154

    532

    {615, 745, 64, 327, 44, 876, 724, 58, 912, 419, 962, 473, 812, 767, 824, 840, 75, 511, 803, 323, 146, 923}

    Returns: "Able"

  41. 943

    243

    {735, 279, 312, 10, 614, 438, 818, 214, 151, 604, 70, 288, 492, 550, 56, 206, 630, 669, 630, 253, 812, 251, 971, 646, 392, 91, 775, 565, 18, 959, 354, 817, 175, 784, 717, 408, 9, 895, 257, 264, 291, 250, 896, 883, 907, 50, 24, 450}

    Returns: "Able"

  42. -337

    703

    {65, 803, 74, 644, 712, 60, 548, 170, 977, 153, 834, 405, 349, 90, 266, 511, 303, 998, 467, 823, 884, 129, 981, 846, 96, 718, 50, 420, 127, 730, 579, 537, 184, 575, 49, 39, 907, 314, 293, 892}

    Returns: "Able"

  43. -74

    -188

    {549, 764, 518, 18, 942, 449, 99, 387, 223, 808, 226, 695, 425, 548, 484, 619, 48}

    Returns: "Able"

  44. 666

    247

    {896, 542, 78, 918, 233, 616, 611, 726, 386, 915, 172, 307, 654, 641, 399}

    Returns: "Able"

  45. -693

    528

    {124, 578, 281, 581, 369, 159}

    Returns: "Able"

  46. -60

    43

    {944, 267}

    Returns: "Not able"

  47. 487

    253

    {853, 35, 982, 863, 299, 202, 940, 999, 312, 885, 874, 259, 317, 144, 479, 675, 438, 30, 416, 572, 468, 558, 136, 456, 293, 549, 705, 292, 365, 679, 709, 856}

    Returns: "Able"

  48. 725

    807

    {402, 427, 566, 288, 300, 725, 917, 950, 211, 454, 524, 859, 554, 3, 156, 960, 107, 288, 358, 4, 883, 985, 488, 811, 443, 771}

    Returns: "Able"

  49. -299

    -830

    {549, 98}

    Returns: "Not able"

  50. -12

    -361

    {981, 177, 16, 634, 355, 195, 356, 171, 893, 323, 654, 502, 524, 379, 91, 21, 43, 268, 153}

    Returns: "Able"

  51. -342

    -927

    {60, 693, 573, 643, 212, 263, 995, 117, 276, 925, 385, 107, 780, 374, 8, 667, 67, 143, 178, 282, 775, 935, 787, 518, 293, 899}

    Returns: "Able"

  52. -590

    172

    {621, 15, 821, 412}

    Returns: "Able"

  53. -337

    -114

    {779, 504, 718, 216, 256, 961, 506, 454, 555, 612, 340, 370, 32, 905, 735, 87, 36, 17, 446, 166, 328, 877, 135, 601, 580, 603, 560, 652, 871, 746, 154, 948, 252, 519, 414, 484, 962, 131, 221, 866}

    Returns: "Able"

  54. 637

    -702

    {568, 244, 748, 258, 621, 197, 17, 347, 688, 448, 202, 570, 444, 633, 979, 548, 347, 636, 265, 248, 453, 110, 896, 228, 103, 422}

    Returns: "Able"

  55. -115

    801

    {837, 124, 587, 618, 252, 841, 728, 32, 887, 118, 226, 448, 719, 839, 630, 426, 1000, 72}

    Returns: "Able"

  56. -9

    -893

    {752, 933, 174, 140, 220, 211, 591, 343, 263, 548, 455, 185, 718, 98, 918, 267, 237, 216, 348, 609, 918, 266, 662, 441, 371, 701, 901, 135, 236, 86, 478}

    Returns: "Able"

  57. -555

    -259

    {824, 93, 363, 684, 339, 789, 119, 376, 957, 967, 329, 805, 832, 136, 388, 359, 695, 964, 593, 310, 551, 663, 750, 974, 408, 509, 668, 479, 790, 195}

    Returns: "Able"

  58. 11

    12

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

    Returns: "Able"

  59. 15

    11

    {2, 2, 6, 8, 10, 4, 11, 1 }

    Returns: "Able"

  60. 1

    1

    {2 }

    Returns: "Not able"

  61. 3

    4

    {4 }

    Returns: "Not able"

  62. 11

    12

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

    Returns: "Not able"

  63. 1

    0

    {100, 101 }

    Returns: "Able"

  64. 1

    1

    {100, 10 }

    Returns: "Not able"

  65. 10

    10

    {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: "Able"

  66. 0

    1

    {2, 2, 2, 1 }

    Returns: "Able"

  67. 8

    0

    {10, 1 }

    Returns: "Not able"

  68. 1

    1

    {1 }

    Returns: "Not able"

  69. 0

    5

    {1, 1, 1, 1, 1, 8 }

    Returns: "Able"

  70. 0

    1

    {100, 100 }

    Returns: "Able"

  71. 10

    0

    {100, 10 }

    Returns: "Not able"

  72. 3

    4

    {5, 100 }

    Returns: "Not able"

  73. 0

    5

    {1 }

    Returns: "Not able"

  74. 6

    8

    {2, 3, 2, 3 }

    Returns: "Able"

  75. 3

    4

    {1, 1 }

    Returns: "Not able"

  76. 4

    5

    {100, 1, 1, 1 }

    Returns: "Not able"

  77. 5

    4

    {2, 5 }

    Returns: "Able"

  78. 100

    100

    {1, 2, 3, 1000 }

    Returns: "Not able"

  79. 4

    4

    {4 }

    Returns: "Not able"

  80. 3

    4

    {1, 1, 1, 1 }

    Returns: "Not able"

  81. 0

    1

    {100 }

    Returns: "Not able"

  82. 1

    1

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

    Returns: "Able"

  83. 11

    12

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

    Returns: "Not able"

  84. 0

    0

    {2, 2 }

    Returns: "Able"

  85. 1

    1

    {100, 1 }

    Returns: "Not able"

  86. 1

    0

    {100, 1 }

    Returns: "Not able"

  87. 0

    0

    {1, 2, 1, 3, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 2, 1, 2, 2, 2, 1, 3, 1, 2, 2, 3, 1, 2, 3, 2, 1, 2, 2, 3 }

    Returns: "Able"

  88. 0

    0

    {10, 10, 10 }

    Returns: "Able"

  89. -5

    0

    {100, 100, 3, 4 }

    Returns: "Able"

  90. 0

    20

    {50, 100 }

    Returns: "Not able"

  91. 10

    0

    {10, 38, 10, 1, 10 }

    Returns: "Able"

  92. 0

    0

    {1 }

    Returns: "Not able"

  93. 1

    1

    {10, 20, 10 }

    Returns: "Able"

  94. 3

    4

    {1, 1, 1, 1, 1 }

    Returns: "Able"

  95. 2

    0

    {2, 4, 8, 16, 32, 64, 128, 256, 512 }

    Returns: "Able"

  96. 3

    3

    {1, 1, 100 }

    Returns: "Not able"

  97. 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, 1000, 1000 }

    Returns: "Able"

  98. 5

    4

    {2, 4 }

    Returns: "Not able"

  99. 5

    6

    {7 }

    Returns: "Not able"

  100. 0

    4

    {3, 10, 3 }

    Returns: "Able"

  101. 1

    1

    {1, 3 }

    Returns: "Not able"

  102. 0

    0

    {1, 5, 11, 5 }

    Returns: "Able"

  103. 3

    4

    {30, 25 }

    Returns: "Able"

  104. 0

    98

    {100, 1 }

    Returns: "Not able"

  105. 3

    4

    {2, 100 }

    Returns: "Not able"

  106. 3

    4

    {10 }

    Returns: "Not able"

  107. 0

    0

    {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: "Able"

  108. 300

    400

    {500 }

    Returns: "Able"

  109. 0

    0

    {4, 4 }

    Returns: "Able"

  110. 1000

    -1000

    {1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1000, 50, 500, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000, 20, 30, 40, 50, 60, 70, 80, 90, 11, 22, 33, 44, 55, 66, 77, 88, 99, 999, 20 }

    Returns: "Able"

  111. 1

    0

    {3, 1 }

    Returns: "Not able"

  112. 3

    4

    {1, 4 }

    Returns: "Able"

  113. 11

    12

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

    Returns: "Not able"

  114. 1000

    1000

    {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: "Not able"

  115. 3

    5

    {1, 2, 10, 3 }

    Returns: "Able"

  116. 3

    4

    {5, 5 }

    Returns: "Able"

  117. 4

    0

    {5, 100 }

    Returns: "Not able"

  118. 0

    3

    {1, 100 }

    Returns: "Not able"

  119. 33

    52

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

    Returns: "Able"

  120. 1

    0

    {2, 3 }

    Returns: "Able"

  121. 1

    0

    {500, 500, 500, 500, 555 }

    Returns: "Able"

  122. 0

    1

    {100, 200, 100 }

    Returns: "Able"

  123. 3

    4

    {6, 12 }

    Returns: "Not able"

  124. 11

    12

    {1, 2, 3, 4, 5, 6, 7, 8, 100, 9, 1000 }

    Returns: "Not able"

  125. 3

    4

    {5 }

    Returns: "Able"

  126. 1

    0

    {4, 3 }

    Returns: "Able"

  127. 4

    0

    {1, 2 }

    Returns: "Not able"

  128. 0

    0

    {1, 3, 3 }

    Returns: "Able"

  129. 97

    0

    {1, 2, 100 }

    Returns: "Able"

  130. 0

    1

    {3, 1, 3 }

    Returns: "Able"

  131. 1000

    1000

    {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, 11, 1, 1, 1, 1, 1, 1, 11, 1, 1 }

    Returns: "Not able"

  132. 4

    4

    {5 }

    Returns: "Not able"

  133. 3

    4

    {4, 4, 6 }

    Returns: "Able"

  134. 0

    0

    {2, 3, 2 }

    Returns: "Able"

  135. 2

    0

    {1, 3 }

    Returns: "Able"

  136. 0

    0

    {1, 1, 2 }

    Returns: "Able"

  137. 0

    0

    {100, 100 }

    Returns: "Able"

  138. 0

    0

    {4, 4, 7 }

    Returns: "Able"

  139. 11

    12

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

    Returns: "Not able"


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: