Statistics

Problem Statement for "DoubleOrOneEasy"

Problem Statement

You have two positive integers: the first one is a, the second one is b.

You also have a red button and a blue button.
Whenever you push the red button, both your numbers are incremented by 1.
Whenever you push the blue button, both your numbers are multiplied by 2.

Your goal is to change the pair (a, b) into the pair (newA, newB).

You are given the ints a, b, newA, and newB.
If there is a sequence of zero or more button pushes that accomplishes your goal, return the length of the shortest such sequence. Otherwise, return -1.

Definition

Class:
DoubleOrOneEasy
Method:
minimalSteps
Parameters:
int, int, int, int
Returns:
int
Method signature:
int minimalSteps(int a, int b, int newA, int newB)
(be sure your method is public)

Notes

  • The operations can produce arbitrarily large integers. For example, if you just push the blue button 1000 times in a row, you will get the numbers a*2^1000 and b*2^1000.

Constraints

  • a will be between 1 and 1,000,000,000, inclusive.
  • b will be between 1 and 1,000,000,000, inclusive.
  • newA will be between 1 and 1,000,000,000, inclusive.
  • newB will be between 1 and 1,000,000,000, inclusive.

Examples

  1. 100

    1000

    101

    1001

    Returns: 1

    Just push the red button once.

  2. 100

    1000

    202

    2002

    Returns: 2

    The best solution is to push the red button followed by the blue button. This performs the operation +1 followed by the operation *2. Another valid solution is to push the blue button once and then the red button twice to perform the operations *2, +1, and +1. This solution is not optimal because the previous solution contains fewer operations.

  3. 2

    2

    1

    1

    Returns: -1

    We are unable to decrease a and b.

  4. 1

    111111111

    8

    888888888

    Returns: 3

  5. 1

    111111111

    9

    999999999

    Returns: -1

  6. 1

    2

    999999999

    1000000000

    Returns: 999999998

  7. 5

    8

    5

    8

    Returns: 0

  8. 100

    200

    499

    899

    Returns: 28

  9. 100

    200

    210

    410

    Returns: 6

  10. 100

    100

    800

    800

    Returns: 3

  11. 100

    100

    899

    899

    Returns: 17

  12. 100

    100

    199

    199

    Returns: 99

  13. 100

    100

    999999999

    999999999

    Returns: 57

  14. 100

    100

    999999999

    1000000000

    Returns: -1

  15. 100

    200

    400

    800

    Returns: 2

  16. 100

    200

    399

    799

    Returns: -1

  17. 76362

    724813095

    77200

    724813933

    Returns: 838

  18. 53

    7598541

    7227

    972613691

    Returns: 15

  19. 12178343

    55631481

    194853525

    890103733

    Returns: 8

  20. 2044

    43922

    33543752

    719672904

    Returns: 22

  21. 318066

    837890634

    318068

    837890636

    Returns: 2

  22. 77

    3778

    20324374

    990519318

    Returns: 23

  23. 390

    424

    920853974

    992157142

    Returns: 81

  24. 631

    82402864

    5445

    659223309

    Returns: 54

  25. 8308

    2901472

    2128063

    742778047

    Returns: 19

  26. 261

    9

    533

    29

    Returns: 7

  27. 4535875

    154

    580592002

    19714

    Returns: 8

  28. 59

    2696395

    1888

    86284640

    Returns: 5

  29. 45

    669

    67903539

    722214963

    Returns: 46

  30. 340

    9300840

    22098

    595254098

    Returns: 13

  31. 9

    7949410

    630

    508762294

    Returns: 10

  32. 104

    37539

    223

    75093

    Returns: 9

  33. 249

    6

    609

    123

    Returns: 57

  34. 2

    89

    19398989

    749207885

    Returns: 30

  35. 69

    275

    573

    2221

    Returns: 7

  36. 9

    3434730

    41

    13738925

    Returns: 4

  37. 745

    18

    753

    26

    Returns: 8

  38. 426820

    825108

    437069764

    844916676

    Returns: 20

  39. 46591

    9933

    745465

    158937

    Returns: 6

  40. 72743297

    6037257

    581947017

    48298697

    Returns: 84

  41. 6844

    478594686

    13691

    957189375

    Returns: 3

  42. 825

    25900842

    26489

    828827033

    Returns: 10

  43. 275

    6361316

    35534

    814248782

    Returns: 13

  44. 8211904

    9025731

    525565288

    577650216

    Returns: 61

  45. 136668

    23

    559799763

    101843

    Returns: 21

  46. 82910816

    921720308

    82910821

    921720313

    Returns: 5

  47. 4841

    4841

    19390

    19390

    Returns: 9

  48. 17740690

    17740690

    17740697

    17740697

    Returns: 7

  49. 7319

    7319

    959485370

    959485370

    Returns: 27

  50. 589

    589

    618144259

    618144259

    Returns: 25

  51. 30224

    30224

    990583493

    990583493

    Returns: 28

  52. 398664

    398664

    816466078

    816466078

    Returns: 17

  53. 7

    7

    975196408

    975196408

    Returns: 36

  54. 63705949

    63705949

    63706472

    63706472

    Returns: 523

  55. 43

    43

    704

    704

    Returns: 5

  56. 62267781

    62267781

    996286044

    996286044

    Returns: 102

  57. 524803

    524803

    537404834

    537404834

    Returns: 20

  58. 31

    31

    3970

    3970

    Returns: 8

  59. 25058287

    25058287

    801865369

    801865369

    Returns: 13

  60. 472056

    472056

    1888240

    1888240

    Returns: 6

  61. 429846

    429846

    880324875

    880324875

    Returns: 15

  62. 88

    88

    177

    177

    Returns: 2

  63. 64094468

    64094468

    512755849

    512755849

    Returns: 17

  64. 7236901

    7236901

    926323549

    926323549

    Returns: 13

  65. 5

    5

    638297468

    638297468

    Returns: 43

  66. 17382

    17382

    569581838

    569581838

    Returns: 20

  67. 35

    72655

    90598

    82

    Returns: -1

  68. 457

    143709

    79256326

    7899

    Returns: -1

  69. 739

    9271241

    79

    29410

    Returns: -1

  70. 416

    68

    8

    2820454

    Returns: -1

  71. 460495063

    1924635

    4316

    40573

    Returns: -1

  72. 306331

    23145

    3

    10296

    Returns: -1

  73. 465

    4875933

    55265769

    317398

    Returns: -1

  74. 946969

    966

    6067

    624

    Returns: -1

  75. 16688

    115166209

    4521314

    9106115

    Returns: -1

  76. 83539434

    82

    3876

    620

    Returns: -1

  77. 9251

    407890888

    3378

    9772508

    Returns: -1

  78. 933628020

    61917107

    61578242

    9

    Returns: -1

  79. 3944

    6679

    5240761

    71867

    Returns: -1

  80. 33

    5294733

    180114971

    7639

    Returns: -1

  81. 92671857

    246352131

    524772

    6

    Returns: -1

  82. 8

    92148

    91345258

    5

    Returns: -1

  83. 6868003

    838779

    34897816

    41

    Returns: -1

  84. 560815924

    3070

    1896282

    403446

    Returns: -1

  85. 10

    98

    45

    5641

    Returns: -1

  86. 7432

    75

    2

    498

    Returns: -1

  87. 9

    55

    72

    164

    Returns: 28

  88. 1

    3

    4

    6

    Returns: 3

  89. 1

    2

    999999997

    999999999

    Returns: 499999999

  90. 1

    1

    4

    4

    Returns: 2

  91. 1

    1

    11

    11

    Returns: 5

  92. 1

    2

    100002

    100003

    Returns: 100001

  93. 2

    2

    50

    10

    Returns: -1

  94. 1

    1

    1000000000

    1000000000

    Returns: 41

  95. 2

    1

    493

    485

    Returns: 64

  96. 1

    2

    990000000

    991048576

    Returns: 969

  97. 2

    4

    100

    102

    Returns: 98

  98. 1

    27

    19

    123

    Returns: 7

  99. 1

    1

    2

    2

    Returns: 1

  100. 10

    20

    29

    49

    Returns: 6

  101. 2

    5

    1167230

    1167422

    Returns: 18246

  102. 1

    1

    10

    10

    Returns: 4

  103. 1

    2

    23

    27

    Returns: 8

  104. 1

    1

    1000000000

    999999999

    Returns: -1

  105. 3

    4

    23

    27

    Returns: 6

  106. 3

    3

    4

    5

    Returns: -1

  107. 4

    4

    7

    7

    Returns: 3

  108. 1

    1

    255

    255

    Returns: 14

  109. 1

    1

    31

    31

    Returns: 8

  110. 3

    5

    12

    14

    Returns: 9

  111. 1

    2

    800004398

    800004406

    Returns: 100000553

  112. 1000

    2

    2000

    1002

    Returns: 1000

  113. 1

    1

    8

    8

    Returns: 3

  114. 1

    1001

    1000

    2000

    Returns: 999

  115. 1

    500000000

    500000000

    999999999

    Returns: 499999999

  116. 10

    26

    14111245

    14111757

    Returns: 440974

  117. 1

    2

    3

    7

    Returns: -1

  118. 1

    5

    12

    16

    Returns: 11

  119. 7

    2

    14

    9

    Returns: 7

  120. 2

    2

    2026

    2026

    Returns: 16

  121. 100

    10000

    105

    10005

    Returns: 5

  122. 1

    3

    2

    4

    Returns: 1

  123. 2

    2

    14

    14

    Returns: 4

  124. 2

    4

    102

    104

    Returns: 100

  125. 5

    5

    40

    40

    Returns: 3

  126. 2

    2

    7

    7

    Returns: 3

  127. 1

    1

    242

    242

    Returns: 11

  128. 1

    1

    1000000

    1000000

    Returns: 25

  129. 5

    5

    13

    13

    Returns: 3

  130. 1

    1

    9

    9

    Returns: 4

  131. 3

    5

    66384

    66896

    Returns: 266

  132. 1

    2

    31

    32

    Returns: 30

  133. 9

    9

    16

    16

    Returns: 7

  134. 2

    3

    4

    5

    Returns: 2

  135. 6

    4

    6

    2

    Returns: -1

  136. 2

    2

    5

    5

    Returns: 2

  137. 4

    4

    16

    16

    Returns: 2

  138. 1

    3

    5

    7

    Returns: 4

  139. 7

    17

    31

    51

    Returns: 10

  140. 9

    5

    18

    14

    Returns: 9

  141. 1

    2

    1

    3

    Returns: -1

  142. 65536

    65536

    805306368

    805306368

    Returns: 32781

  143. 1

    1

    536870911

    536870911

    Returns: 56

  144. 3

    5

    8

    10

    Returns: 5

  145. 2

    1

    1000000000

    999999998

    Returns: 499999999

  146. 2

    2

    3

    6

    Returns: -1

  147. 2

    4

    5

    7

    Returns: 3

  148. 5

    5

    12

    12

    Returns: 2

  149. 6

    8

    16

    20

    Returns: 3

  150. 1

    1

    32

    32

    Returns: 5

  151. 3

    3

    17

    17

    Returns: 4

  152. 3

    3

    4

    4

    Returns: 1

  153. 2

    2

    20

    20

    Returns: 4

  154. 3

    1

    1000000000

    999999998

    Returns: 999999997

  155. 1

    1

    15

    15

    Returns: 6

  156. 1

    1

    5

    4

    Returns: -1

  157. 100

    100

    200

    200

    Returns: 1

  158. 2

    4

    32

    36

    Returns: 15

  159. 1

    1

    7

    7

    Returns: 4

  160. 100

    100

    1

    1

    Returns: -1

  161. 1

    2

    4

    7

    Returns: -1

  162. 1

    100

    132768

    3376800

    Returns: 22

  163. 1

    1

    2

    4

    Returns: -1

  164. 4

    8

    12

    16

    Returns: 8

  165. 4

    6

    42

    58

    Returns: 5

  166. 5

    5

    10

    10

    Returns: 1

  167. 1

    10

    6

    15

    Returns: 5

  168. 1

    2

    999999998

    1000000000

    Returns: 499999999

  169. 1

    10

    4

    13

    Returns: 3

  170. 1

    3

    12

    16

    Returns: 6

  171. 500000001

    499999999

    1000000000

    1000000000

    Returns: -1

  172. 1

    2

    3

    4

    Returns: 2

  173. 982

    982

    5257

    5257

    Returns: 335

  174. 1

    1

    64

    64

    Returns: 6

  175. 3

    3

    1

    1

    Returns: -1

  176. 100

    100

    50

    50

    Returns: -1

  177. 1

    1

    1

    1

    Returns: 0

  178. 2

    11

    1

    10

    Returns: -1

  179. 1

    1

    364364

    364364

    Returns: 27

  180. 2

    2

    2

    4

    Returns: -1

  181. 1

    101

    1000

    1801

    Returns: -1

  182. 1

    2

    100000

    100001

    Returns: 99999

  183. 1

    2

    10000000

    1000000000

    Returns: -1

  184. 6

    6

    17

    17

    Returns: 4

  185. 3

    3

    9

    9

    Returns: 3

  186. 1

    3

    2

    5

    Returns: -1

  187. 4

    4

    6

    6

    Returns: 2

  188. 101

    122

    333

    375

    Returns: 67

  189. 1

    1

    101

    101

    Returns: 9

  190. 3

    3

    1000000

    1000000

    Returns: 23

  191. 1

    1

    1000000000

    100

    Returns: -1

  192. 500000000

    500000000

    999999999

    999999999

    Returns: 499999999

  193. 1

    536870913

    8

    8

    Returns: -1

  194. 2

    2

    100

    100

    Returns: 7

  195. 1

    2

    42

    74

    Returns: 7

  196. 3

    5

    20

    22

    Returns: 17

  197. 2

    1

    3

    1

    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: