Statistics

Problem Statement for "MultiplyAddPuzzle"

Problem Statement

You have the number s. You may change this number. In each step you can apply one of two possible changes:

  • Add a to your current number.
  • Multiply your current number by b.
Your goal is to change s into t using the minimal number of steps.

You are given the longs s, t, a, and b. Compute and return the smallest number of steps in which we can turn s into t, or -1 if changing s into t is not possible.

Definition

Class:
MultiplyAddPuzzle
Method:
minimalSteps
Parameters:
long, long, long, long
Returns:
long
Method signature:
long minimalSteps(long s, long t, long a, long b)
(be sure your method is public)

Constraints

  • s will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.
  • t will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.
  • a will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.
  • b will be between 0 and 1,000,000,000,000,000,000 (10^18), inclusive.

Examples

  1. 10

    40

    4

    2

    Returns: 2

    At the beginning you have the number 10. In each step you can either add 4 to your number, or you can multiply it by 2. You want to reach the number 40. The optimal solution is to use multiplication twice, changing 10 to 10*2 = 20 and then changing 20 to 20*2 = 40.

  2. 10

    28

    4

    2

    Returns: 2

    The same setting, but now the goal is the number t = 28. Again, it is possible to reach this number in two steps. In the first step we add 4, going from 10 to 10+4 = 14. In the second step we multiply by 2, going from 14 to 14*2 = 28.

  3. 10

    99

    4

    2

    Returns: -1

    Whatever you do, the number you'll have will always be even, so it's impossible to reach the odd number 99.

  4. 345

    12345

    1

    10

    Returns: 895

  5. 1

    1000000000000000000

    1

    0

    Returns: 999999999999999999

  6. 1

    1000000000000000000

    3

    1

    Returns: 333333333333333333

  7. 1

    1024

    0

    2

    Returns: 10

  8. 1

    1023

    0

    2

    Returns: -1

  9. 45654654

    45654654

    0

    0

    Returns: 0

  10. 5463546

    0

    0

    0

    Returns: 1

  11. 1

    1000000000000000000

    52579

    2

    Returns: 19018999980981

  12. 1

    2

    2

    0

    Returns: 2

  13. 3

    2

    2

    0

    Returns: 2

  14. 3

    0

    0

    0

    Returns: 1

  15. 0

    0

    0

    0

    Returns: 0

  16. 1

    3

    2

    1

    Returns: 1

  17. 4

    332

    8

    1

    Returns: 41

  18. 2

    263243407684534272

    0

    6

    Returns: 22

  19. 0

    44594133991056

    2

    5574266748882

    Returns: 5

  20. 5788666556073

    0

    0

    0

    Returns: 1

  21. 0

    0

    7

    0

    Returns: 0

  22. 604499041098525

    604499041098525

    58512495745255

    46993491

    Returns: 0

  23. 1

    9268

    2

    2

    Returns: 17

  24. 7

    73069039522

    2435634647

    2

    Returns: 8

  25. 155

    0

    2

    0

    Returns: 1

  26. 1

    22

    1

    2

    Returns: 6

  27. 7

    4399194

    10

    2

    Returns: 24

  28. 9584508598251544

    776345196458375064

    0

    9

    Returns: 2

  29. 0

    5

    5

    2

    Returns: 1

  30. 5373507075

    923294432702319713

    923281530911832638

    7

    Returns: 5

  31. 1

    121310582179855719

    681520124605931

    1

    Returns: 178

  32. 31613357

    31613357

    0

    435845062

    Returns: 0

  33. 1

    51

    10

    1

    Returns: 5

  34. 0

    24

    1

    1

    Returns: 24

  35. 2

    19562256

    10

    2

    Returns: 33

  36. 0

    8

    2

    62

    Returns: 4

  37. 2

    12394324296208

    8

    2489410

    Returns: 3

  38. 4

    231281530775241896

    4

    19273460897936824

    Returns: 5

  39. 24568952501179854

    18

    9

    0

    Returns: 3

  40. 1

    2984087853009

    8

    331565317001

    Returns: 2

  41. 0

    103308522881313132

    1

    103308522881313132

    Returns: 2

  42. 1

    20955468

    2

    6985156

    Returns: 2

  43. 6

    717042327086145941

    1

    2524

    Returns: 10

  44. 5

    146739128283665

    79019455185

    2

    Returns: 15

  45. 2

    858314527835264754

    2

    5

    Returns: 49

  46. 1

    21

    2

    1

    Returns: 10

  47. 1

    5

    5

    0

    Returns: 2

  48. 386341297793

    386341297817

    1

    1

    Returns: 24

  49. 1

    0

    0

    0

    Returns: 1

  50. 4

    5

    1

    1

    Returns: 1

  51. 0

    4

    2

    0

    Returns: 2

  52. 0

    0

    2

    0

    Returns: 0

  53. 823853445

    823853445

    2

    9633201405269

    Returns: 0

  54. 2

    6986112871

    6986112869

    1

    Returns: 1

  55. 0

    874012094122230405

    5

    9

    Returns: 35

  56. 2

    2

    0

    1

    Returns: 0

  57. 49552171598

    49552171602

    2

    77688518383581170

    Returns: 2

  58. 1

    1

    2

    47656706055956163

    Returns: 0

  59. 0

    0

    3

    7

    Returns: 0

  60. 4

    260

    1

    1

    Returns: 256

  61. 0

    834

    6

    1

    Returns: 139

  62. 9

    855098893301

    1

    85509889330

    Returns: 3

  63. 0

    640220949025714604

    4

    7

    Returns: 37

  64. 2

    1369132438630276

    4

    61108

    Returns: 5

  65. 1

    3

    1

    0

    Returns: 2

  66. 1

    3

    2

    2

    Returns: 1

  67. 2

    451270179062136828

    1

    3

    Returns: 58

  68. 0

    20

    10

    0

    Returns: 2

  69. 1

    2

    2

    0

    Returns: 2

  70. 1

    898840013466841625

    2

    5

    Returns: 43

  71. 1

    6015828751310

    1

    3007914375655

    Returns: 2

  72. 9

    7409673756708384

    7409673756708375

    1

    Returns: 1

  73. 2

    0

    50047098848741925

    0

    Returns: 1

  74. 3

    32

    1

    2

    Returns: 4

  75. 2

    0

    2

    0

    Returns: 1

  76. 6

    6

    0

    1

    Returns: 0

  77. 2

    6669029109209340

    6

    333451455460467

    Returns: 4

  78. 0

    2

    2

    0

    Returns: 1

  79. 1

    679079712434541217

    0

    679079712434541217

    Returns: 1

  80. 1

    1

    0

    1

    Returns: 0

  81. 9

    66

    4

    6

    Returns: 4

  82. 2

    518690518069171

    833401

    622376590

    Returns: 3

  83. 2

    0

    1

    0

    Returns: 1

  84. 46416077

    0

    0

    0

    Returns: 1

  85. 777081679127899132

    777081679127899132

    1

    4

    Returns: 0

  86. 4

    119827163207196896

    0

    310574

    Returns: 3

  87. 6063567185

    0

    1838699353693967

    0

    Returns: 1

  88. 0

    12021516436

    6010758218

    8

    Returns: 2

  89. 7

    596578761226

    596578761219

    1

    Returns: 1

  90. 1

    1

    2

    64698182647

    Returns: 0

  91. 1

    2467185290444102

    2

    822395096814700

    Returns: 3

  92. 7

    506179622488737242

    2

    33745308165915816

    Returns: 6

  93. 1524966571

    818710194490189272

    1

    2

    Returns: 42

  94. 98881932784811

    768905909334722390

    2

    6

    Returns: 12

  95. 90805003272

    523472773667428872

    0

    7

    Returns: 8

  96. 2

    44765376612198272

    2613100299

    2

    Returns: 33

  97. 0

    438

    6

    8

    Returns: 5

  98. 45039

    792349592369856754

    5

    2

    Returns: 62

  99. 2

    2

    2

    6

    Returns: 0

  100. 72203509147125

    72203509147227

    2

    1

    Returns: 51

  101. 0

    0

    0

    1

    Returns: 0

  102. 2

    576460752303423488

    0

    2

    Returns: 58

  103. 0

    4

    2

    7152985

    Returns: 2

  104. 0

    996839739978563995

    199367947995712799

    0

    Returns: 5

  105. 0

    1512580388

    2

    756290194

    Returns: 2

  106. 480419338015308

    983898804255363850

    1

    2

    Returns: 21

  107. 5763313026

    57633130282200

    2

    10

    Returns: 7

  108. 0

    0

    0

    77296

    Returns: 0

  109. 2

    227443549395598928

    10

    8

    Returns: 36

  110. 2

    262144

    0

    2

    Returns: 17

  111. 1

    549755813888

    0

    2

    Returns: 39

  112. 65

    774860382080078125

    0

    5

    Returns: 23

  113. 0

    0

    2

    1

    Returns: 0

  114. 1

    700461024973592524

    1

    2

    Returns: 88

  115. 2

    4194304

    0

    2

    Returns: 21

  116. 1

    65669626824

    2

    6

    Returns: 22

  117. 1

    250400575150969430

    1

    5

    Returns: 49

  118. 1

    24063705

    891248

    9

    Returns: 4

  119. 2

    504352950537600

    4

    9168360

    Returns: 3

  120. 8

    76638936

    2

    2

    Returns: 34

  121. 2

    0

    7132159

    0

    Returns: 1

  122. 2

    23

    7

    1

    Returns: 3

  123. 0

    0

    0

    0

    Returns: 0

  124. 5

    0

    0

    0

    Returns: 1

  125. 0

    709694719834842310

    2

    2

    Returns: 91

  126. 1

    4504626811

    83419015

    1

    Returns: 54

  127. 0

    18

    9

    2

    Returns: 2

  128. 2

    55

    1

    1

    Returns: 53

  129. 0

    0

    1

    2

    Returns: 0

  130. 0

    0

    0

    5

    Returns: 0

  131. 2

    0

    0

    0

    Returns: 1

  132. 0

    319634557064148060

    2

    7

    Returns: 38

  133. 77795109175320

    77795109175320

    2

    1

    Returns: 0

  134. 1

    6668561

    6668561

    0

    Returns: 2

  135. 5

    176

    2

    2

    Returns: 6

  136. 8

    669618386848288786

    1

    2

    Returns: 77

  137. 2

    6

    2

    1

    Returns: 2

  138. 636

    0

    1

    0

    Returns: 1

  139. 2

    2

    0

    1

    Returns: 0

  140. 0

    701347023389896200

    350673511694948100

    1

    Returns: 2

  141. 1

    1

    1

    0

    Returns: 0

  142. 1

    2

    2

    0

    Returns: 2

  143. 0

    17294403

    3

    7

    Returns: 9

  144. 8

    15

    7

    1

    Returns: 1

  145. 1

    1

    668032758448845031

    0

    Returns: 0

  146. 1

    1

    2

    1

    Returns: 0

  147. 2

    0

    1

    1

    Returns: -1

  148. 40

    2

    2

    0

    Returns: 2

  149. 6

    0

    1

    7

    Returns: -1

  150. 1

    30

    0

    2

    Returns: -1

  151. 0

    7227448402

    2

    1

    Returns: 3613724201

  152. 1

    1

    2

    1

    Returns: 0

  153. 1

    0

    1

    2

    Returns: -1

  154. 2

    9

    2

    1

    Returns: -1

  155. 2

    1

    0

    1

    Returns: -1

  156. 8

    6

    2

    10

    Returns: -1

  157. 0

    6709

    42598819038596

    1

    Returns: -1

  158. 3

    2

    7

    2

    Returns: -1

  159. 2

    1

    1

    0

    Returns: 2

  160. 1

    3211917

    32422

    1

    Returns: -1

  161. 1

    619354027259028

    1

    0

    Returns: 619354027259027

  162. 2

    2

    2

    1

    Returns: 0

  163. 637204383177781352

    0

    2

    1

    Returns: -1

  164. 0

    0

    2

    33459220867690386

    Returns: 0

  165. 0

    0

    2

    0

    Returns: 0

  166. 150217265155

    1

    0

    0

    Returns: -1

  167. 0

    1

    1

    1

    Returns: 1

  168. 2

    2

    1

    1

    Returns: 0

  169. 0

    0

    1

    972333

    Returns: 0

  170. 8

    9

    1

    0

    Returns: 1

  171. 0

    1

    1

    1

    Returns: 1

  172. 6

    6461100596

    9543363

    1

    Returns: -1

  173. 2

    84584336161486464

    3

    2

    Returns: -1

  174. 1

    0

    2

    0

    Returns: 1

  175. 7

    5

    6

    8

    Returns: -1

  176. 2

    0

    1

    2923506558287480

    Returns: -1

  177. 1

    5

    90150

    0

    Returns: -1

  178. 2

    1

    5

    0

    Returns: -1

  179. 174814

    2

    1

    166629597570

    Returns: -1

  180. 2

    2

    2

    1

    Returns: 0

  181. 9784688167

    0

    2

    2

    Returns: -1

  182. 1

    36844001936301

    0

    192

    Returns: -1

  183. 0

    0

    3

    10

    Returns: 0

  184. 0

    7

    69

    2

    Returns: -1

  185. 9

    1

    5

    2

    Returns: -1

  186. 4

    1

    2

    1

    Returns: -1

  187. 833114397

    2

    1

    0

    Returns: 3

  188. 31920

    1

    1

    0

    Returns: 2

  189. 6

    6429131987867022

    8

    2

    Returns: 803641498483377

  190. 0

    0

    0

    8

    Returns: 0

  191. 9615937242668

    1

    9

    0

    Returns: -1

  192. 1

    249947229784

    0

    2

    Returns: -1

  193. 5532218331007

    7

    1

    9

    Returns: -1

  194. 98374999983367425

    5360346646

    1

    4

    Returns: -1

  195. 40

    5

    8037116534018704

    6

    Returns: -1

  196. 61

    512399422745329551

    9

    33

    Returns: 1725250581634115

  197. 98

    812440861332123760

    27

    29

    Returns: 1037600078329667

  198. 9

    636890545796983342

    11

    57

    Returns: 1015774395210552

  199. 83

    387382397409348123

    18

    15

    Returns: 1434749620034620

  200. 13

    462658693525565892

    80

    4

    Returns: 1445808417267395

  201. 3

    522978804100894812

    16

    20

    Returns: 1634308762815299

  202. 72

    672062551541232603

    41

    8

    Returns: 2048971193723272

  203. 11

    967711671328198142

    28

    6

    Returns: 5760188519810708

  204. 96

    518615565344257580

    25

    5

    Returns: 4148924522754061

  205. 77

    501353328704220546

    16

    10

    Returns: 3133458304401380

  206. 65

    448865188210196079

    9

    39

    Returns: 1278818200029059

  207. 25

    708077296795897374

    4

    26

    Returns: 6808435546114407

  208. 81

    945264896711877954

    4

    58

    Returns: 4074417658240834

  209. 20

    741629449779133653

    83

    7

    Returns: 1276470653664606

  210. 23

    588640757523831305

    13

    41

    Returns: 1104391665147915

  211. 45

    835824775649847932

    8

    84

    Returns: 1243786868526621

  212. 3

    171253920587364074

    4

    18

    Returns: 2378526674824506

  213. 87

    165576017468022354

    24

    6

    Returns: 1149833454639044

  214. 62

    901409491435695332

    8

    22

    Returns: 5121644837702821

  215. 83

    712513687916539953

    38

    15

    Returns: 1250024013888671

  216. 13

    311544568954336546

    12

    10

    Returns: 2596204741286145

  217. 63

    941223512388597938

    4

    58

    Returns: 4056997898226729

  218. 80

    569215332646903691

    51

    10

    Returns: 1116108495386086

  219. 52

    710613785871150054

    53

    7

    Returns: 1915401040083965

  220. 92

    669763529629567482

    22

    30

    Returns: 1014793226711483

  221. 24

    608965237234467780

    13

    24

    Returns: 1951811657802792

  222. 39

    946822531396229914

    4

    22

    Returns: 10759346947684424

  223. 71

    459831542741880476

    72

    4

    Returns: 1596637301187085

  224. 10

    805474536127030812

    8

    42

    Returns: 2397245643235231

  225. 18

    979446360709194068

    22

    39

    Returns: 1141545874952472

  226. 1000000000000000000

    1000000000000000000

    1000000000000000000

    1000000000000000000

    Returns: 0

  227. 7

    4

    2

    0

    Returns: 3

  228. 5

    1

    1

    0

    Returns: 2

  229. 42

    3

    3

    0

    Returns: 2

  230. 12

    0

    0

    0

    Returns: 1

  231. 12

    2

    2

    0

    Returns: 2

  232. 100

    99

    3

    0

    Returns: 34

  233. 10

    5

    1

    0

    Returns: 6

  234. 1

    100000

    1

    0

    Returns: 99999

  235. 10

    4

    0

    0

    Returns: -1

  236. 0

    65

    5

    10

    Returns: 5

  237. 3

    4

    0

    1

    Returns: -1

  238. 100

    5

    1

    0

    Returns: 6

  239. 0

    10000000000000000

    1

    1

    Returns: 10000000000000000

  240. 1

    10

    0

    0

    Returns: -1

  241. 1

    5

    3

    0

    Returns: -1

  242. 100

    10

    1

    0

    Returns: 11

  243. 0

    1000000000000000000

    1

    2

    Returns: 83

  244. 700

    1

    1

    0

    Returns: 2

  245. 3

    123

    0

    1

    Returns: -1

  246. 7

    8

    2

    0

    Returns: 5

  247. 5

    10

    2

    0

    Returns: 6

  248. 423432

    10

    5

    0

    Returns: 3

  249. 100

    1000

    3

    0

    Returns: 300

  250. 17

    15

    5

    0

    Returns: 4

  251. 0

    0

    5

    1

    Returns: 0

  252. 6

    3

    3

    0

    Returns: 2

  253. 2

    1024

    0

    2

    Returns: 9

  254. 50

    0

    0

    0

    Returns: 1

  255. 1007

    99999999

    0

    2

    Returns: -1

  256. 0

    624

    2

    10

    Returns: 8

  257. 0

    1000000000000000000

    1

    1

    Returns: 1000000000000000000

  258. 10

    5

    5

    0

    Returns: 2

  259. 1007

    99999999

    0

    0

    Returns: -1

  260. 40

    20

    1

    0

    Returns: 21

  261. 0

    1

    0

    1

    Returns: -1

  262. 0

    1000

    0

    2

    Returns: -1

  263. 0

    1000000

    1

    13

    Returns: 21

  264. 10

    0

    0

    0

    Returns: 1

  265. 0

    1

    1

    2

    Returns: 1

  266. 2

    8

    0

    2

    Returns: 2

  267. 7

    8

    0

    1

    Returns: -1

  268. 12

    0

    0

    41

    Returns: -1

  269. 0

    1000000000000000000

    100

    100

    Returns: 9

  270. 0

    123

    0

    41

    Returns: -1

  271. 23

    65

    0

    0

    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: