Statistics

Problem Statement for "Catchphrase"

Problem Statement

This problem is about (a simplified version of) scoring in the TV show Catchphrase. In the TV show there are two contestants who solve puzzles. We will call the contestants A and B.

There are three rounds.

  • In round 1 there are between 1 and 9 puzzles, and each of those awards 100 points to the player who solves it. (Only the faster solver gets the points for each puzzle. Some puzzles may remain unsolved, in which case nobody gets the points for that puzzle.)
  • In round 2 there are between 1 and 9 puzzles, and each of those awards 200 points.
  • In round 3 there is an unlimited number of puzzles, and each of those awards 500 points. (Puzzles in rounds 2 and 3 may also remain unsolved.)

Additionally, there are two bonus puzzles: after round 1 there is a bonus puzzle that will award 500 points to exactly one of the two players, and after round 2 there is another such puzzle that awards 1000 points.


You are given the final scores at the end of the third round: player A has Ascore points while player B has Bscore points.

Determine whether these final scores are possible. If not, return -1. If they are possible, determine and return the maximum number of puzzles player A could have solved. (This includes both regular puzzles in all three rounds and some of the two bonus puzzles.)

Definition

Class:
Catchphrase
Method:
reconstruct
Parameters:
int, int
Returns:
int
Method signature:
int reconstruct(int Ascore, int Bscore)
(be sure your method is public)

Constraints

  • Ascore will be between 0 and 10^6, inclusive.
  • Bscore will be between 0 and 10^6, inclusive.

Examples

  1. 900

    900

    Returns: -1

    In each game one of the players will get the bonus puzzle after round 2, and as that puzzle awards 1000 points, a final score of 900 points each is not possible.

  2. 47

    1953

    Returns: -1

    The number of points awarded by each puzzle is a multiple of 100, so these scores are clearly impossible.

  3. 1800

    0

    Returns: 5

    We can deduce that player A must have solved both bonus puzzles (worth a total of 1500 points). Then there are two possibilities: either she solved three 100-point puzzles in round 1, or she solved one 100-point and one 200-point puzzle. In the first case she has solved a total of 5 puzzles, in the second case only 4, so we return the bigger number.

  4. 1100

    2000

    Returns: 10

    A could have solved all nine puzzles in round 1 + one puzzle in round 2, while B solved both bonus puzzles and one puzzle in round 3.

  5. 4300

    1100

    Returns: 19

    An optimal scenario looks as follows: in round 1 A solved 7 puzzles and B solved 1 puzzle (worth 100 each) A solved the first bonus puzzle (worth 500) in round 2 A solved 8 puzzles (worth 200 each) B solved the second bonus puzzle (worth 1000) in round 3 A solved 3 puzzles (worth 500 each) A has solved a total of 7 + 1 + 8 + 3 = 19 puzzles. There is no other scenario in which the final scores are the same and A has solved more than 19 puzzles.

  6. 1400

    400

    Returns: -1

  7. 400

    1400

    Returns: -1

  8. 0

    1500

    Returns: 0

  9. 500

    1000

    Returns: 1

  10. 1000

    500

    Returns: 1

  11. 1500

    0

    Returns: 2

  12. 2200

    2600

    Returns: 15

  13. 4400

    200

    Returns: 19

  14. 200

    1900

    Returns: 2

  15. 1100

    1900

    Returns: 10

  16. 1700

    3000

    Returns: 13

  17. 3600

    900

    Returns: 17

  18. 700

    700

    Returns: -1

  19. 2400

    2200

    Returns: 16

  20. 800

    3100

    Returns: 8

  21. 4700

    900

    Returns: 19

  22. 1700

    2600

    Returns: 13

  23. 393153

    582719

    Returns: -1

  24. 4900

    2200

    Returns: 21

  25. 700

    3900

    Returns: 7

  26. 1200

    800

    Returns: 3

  27. 646692

    507855

    Returns: -1

  28. 1800

    600

    Returns: 9

  29. 2600

    3100

    Returns: 17

  30. 2000

    600

    Returns: 10

  31. 1500

    2400

    Returns: 12

  32. 685300

    896800

    Returns: 1381

  33. 862300

    440200

    Returns: 1736

  34. 4100

    3400

    Returns: 19

  35. 947500

    209000

    Returns: 1907

  36. 0

    300

    Returns: -1

  37. 2300

    3500

    Returns: 16

  38. 864129

    895412

    Returns: -1

  39. 0

    800

    Returns: -1

  40. 2900

    700

    Returns: 15

  41. 1600

    2600

    Returns: 12

  42. 175536

    819874

    Returns: -1

  43. 2800

    2300

    Returns: 16

  44. 2300

    3100

    Returns: 15

  45. 1500

    1600

    Returns: 11

  46. 1000

    2400

    Returns: 9

  47. 1700

    1900

    Returns: 13

  48. 597634

    631962

    Returns: -1

  49. 3400

    3100

    Returns: 18

  50. 606352

    863723

    Returns: -1

  51. 1800

    3500

    Returns: 13

  52. 3900

    2200

    Returns: 19

  53. 1700

    1500

    Returns: 13

  54. 668500

    562700

    Returns: 1349

  55. 1900

    1500

    Returns: 14

  56. 2800

    1500

    Returns: 17

  57. 128597

    543688

    Returns: -1

  58. 2500

    2300

    Returns: 15

  59. 1700

    1100

    Returns: 11

  60. 1000

    1600

    Returns: 9

  61. 4900

    700

    Returns: 20

  62. 700

    2400

    Returns: 7

  63. 3600

    2600

    Returns: 19

  64. 1900

    1100

    Returns: 12

  65. 4800

    2300

    Returns: 20

  66. 4100

    1400

    Returns: 19

  67. 2400

    3500

    Returns: 16

  68. 161469

    810712

    Returns: -1

  69. 2300

    1500

    Returns: 16

  70. 1000

    800

    Returns: 1

  71. 1000

    4400

    Returns: 9

  72. 1700

    3900

    Returns: 13

  73. 395600

    963000

    Returns: 803

  74. 1900

    300

    Returns: 6

  75. 200

    2400

    Returns: 2

  76. 3900

    1500

    Returns: 19

  77. 3100

    0

    Returns: 14

  78. 1600

    1100

    Returns: 10

  79. 2000

    1900

    Returns: 14

  80. 2800

    800

    Returns: 14

  81. 3400

    1100

    Returns: 18

  82. 2900

    1900

    Returns: 16

  83. 3600

    1400

    Returns: 18

  84. 1900

    3500

    Returns: 14

  85. 134497

    73929

    Returns: -1

  86. 672543

    950667

    Returns: -1

  87. 2800

    3500

    Returns: 17

  88. 616800

    58200

    Returns: 1245

  89. 1800

    1500

    Returns: 13

  90. 1600

    700

    Returns: 7

  91. 3700

    3000

    Returns: 20

  92. 1900

    3100

    Returns: 14

  93. 2200

    2800

    Returns: 15

  94. 3800

    1500

    Returns: 19

  95. 1100

    2100

    Returns: 10

  96. 238900

    378800

    Returns: 489

  97. 1000

    3700

    Returns: 9

  98. 3600

    1100

    Returns: 19

  99. 2000

    700

    Returns: 10

  100. 1800

    1200

    Returns: 12

  101. 429622

    790457

    Returns: -1

  102. 3900

    3500

    Returns: 19

  103. 741435

    443585

    Returns: -1

  104. 654037

    800070

    Returns: -1

  105. 1500

    2100

    Returns: 12

  106. 2200

    1600

    Returns: 15

  107. 1700

    2400

    Returns: 13

  108. 500

    3700

    Returns: 5

  109. 700

    100

    Returns: -1

  110. 1300

    1700

    Returns: 11

  111. 1100

    900

    Returns: 2

  112. 1500

    1700

    Returns: 12

  113. 701100

    798400

    Returns: 1413

  114. 2400

    1200

    Returns: 15

  115. 3800

    3500

    Returns: 19

  116. 3700

    1500

    Returns: 20

  117. 2200

    800

    Returns: 11

  118. 1700

    1600

    Returns: 12

  119. 1000

    2100

    Returns: 9

  120. 1400

    2900

    Returns: 11

  121. 671466

    865266

    Returns: -1

  122. 2600

    2100

    Returns: 17

  123. 1000

    1700

    Returns: 9

  124. 2500

    2400

    Returns: 15

  125. 1400

    2500

    Returns: 11

  126. 2300

    2000

    Returns: 16

  127. 100

    1300

    Returns: -1

  128. 500

    2100

    Returns: 5

  129. 900

    2900

    Returns: 9

  130. 1200

    2600

    Returns: 10

  131. 1700

    1300

    Returns: 11

  132. 4300

    1500

    Returns: 20

  133. 3100

    500

    Returns: 16

  134. 1600

    1600

    Returns: 12

  135. 2100

    2100

    Returns: 15

  136. 3100

    4100

    Returns: 18

  137. 2000

    2400

    Returns: 14

  138. 889782

    122980

    Returns: -1

  139. 248200

    467100

    Returns: 507

  140. 700

    1700

    Returns: 7

  141. 2700

    2900

    Returns: 16

  142. 3700

    800

    Returns: 17

  143. 3200

    2100

    Returns: 17

  144. 5100

    0

    Returns: 21

  145. 1600

    1200

    Returns: 11

  146. 753700

    430300

    Returns: 1518

  147. 951800

    38400

    Returns: 1915

  148. 3900

    1200

    Returns: 19

  149. 1200

    1800

    Returns: 10

  150. 500

    1800

    Returns: 5

  151. 41546

    618505

    Returns: -1

  152. 1400

    1800

    Returns: 11

  153. 2900

    2500

    Returns: 17

  154. 2500

    4400

    Returns: 15

  155. 28700

    224400

    Returns: 68

  156. 3200

    1300

    Returns: 17

  157. 2700

    2100

    Returns: 16

  158. 1000

    600

    Returns: 1

  159. 413634

    872614

    Returns: -1

  160. 4800

    800

    Returns: 19

  161. 1400

    1400

    Returns: 10

  162. 3600

    1600

    Returns: 19

  163. 513420

    767606

    Returns: -1

  164. 1200

    4600

    Returns: 10

  165. 208500

    478600

    Returns: 428

  166. 1600

    3600

    Returns: 12

  167. 900

    1800

    Returns: 8

  168. 2100

    4100

    Returns: 15

  169. 2400

    2500

    Returns: 16

  170. 192394

    13414

    Returns: -1

  171. 1800

    1300

    Returns: 11

  172. 1500

    2600

    Returns: 12

  173. 3700

    2800

    Returns: 18

  174. 2200

    2100

    Returns: 15

  175. 3100

    2100

    Returns: 18

  176. 4900

    2500

    Returns: 21

  177. 900

    1400

    Returns: 5

  178. 1200

    1100

    Returns: 8

  179. 1100

    1400

    Returns: 7

  180. 979400

    887900

    Returns: 1969

  181. 2700

    900

    Returns: 14

  182. 1200

    3800

    Returns: 10

  183. 0

    1000

    Returns: -1

  184. 2400

    1700

    Returns: 16

  185. 3200

    600

    Returns: 16

  186. 800

    2600

    Returns: 8

  187. 802900

    754600

    Returns: 1617

  188. 736800

    992100

    Returns: 1484

  189. 1000

    2600

    Returns: 9

  190. 1700

    2100

    Returns: 13

  191. 2900

    500

    Returns: 15

  192. 1400

    3400

    Returns: 11

  193. 3200

    3800

    Returns: 17

  194. 3600

    3600

    Returns: 19

  195. 494600

    503400

    Returns: 1000

  196. 2100

    3400

    Returns: 15

  197. 1000

    2200

    Returns: 9

  198. 781652

    511776

    Returns: -1

  199. 1300

    1900

    Returns: 11

  200. 400

    1000

    Returns: -1

  201. 1500

    1900

    Returns: 12

  202. 2700

    600

    Returns: 13

  203. 1100

    200

    Returns: -1

  204. 1400

    3500

    Returns: 11

  205. 615500

    882900

    Returns: 1241

  206. 500

    2600

    Returns: 5

  207. 4400

    1700

    Returns: 20

  208. 2200

    4600

    Returns: 15

  209. 1700

    1800

    Returns: 12

  210. 4300

    2000

    Returns: 20

  211. 2500

    2100

    Returns: 16

  212. 500

    2200

    Returns: 5

  213. 2300

    2600

    Returns: 15

  214. 4900

    500

    Returns: 20

  215. 2500

    2600

    Returns: 16

  216. 5100

    500

    Returns: 21

  217. 1600

    1700

    Returns: 12

  218. 2900

    3400

    Returns: 16

  219. 100

    1500

    Returns: 1

  220. 4700

    2900

    Returns: 20

  221. 500

    2300

    Returns: 5

  222. 2400

    200

    Returns: 11

  223. 800

    1100

    Returns: 4

  224. 1100

    3100

    Returns: 10

  225. 3200

    1800

    Returns: 17

  226. 1200

    1900

    Returns: 10

  227. 1500

    300

    Returns: 2

  228. 2500

    1800

    Returns: 15

  229. 241700

    123000

    Returns: 496

  230. 1600

    900

    Returns: 7

  231. 2100

    1400

    Returns: 13

  232. 1400

    1900

    Returns: 11

  233. 991200

    506600

    Returns: 1993

  234. 1600

    1400

    Returns: 11

  235. 2900

    2200

    Returns: 17

  236. 800

    300

    Returns: -1

  237. 300

    1100

    Returns: -1

  238. 500

    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: