Statistics

Problem Statement for "CheatingAfterTests"

Problem Statement

In school you took some tests. Your score on each test was an integer between 0 (worst) and 99 (best), inclusive. After all the tests were done, you were given the report where all your scores are written. You are supposed to bring the report home and show it to your parents.

You aren't too happy with your scores, so you decided to improve the report: you may change any one digit to any other digit.

Do the change that will improve your report as much as possible. Compute and return the largest possible sum of all scores on your report card after you change up to one digit in one of the numbers.

Definition

Class:
CheatingAfterTests
Method:
cheat
Parameters:
int[]
Returns:
int
Method signature:
int cheat(int[] report)
(be sure your method is public)

Notes

  • You can only edit digits, not add new ones. In particular, if a number on the report only has one digit, it must remain a one-digit number.

Constraints

  • report will have between 1 and 50 elements, inclusive.
  • Each element of report will be between 0 and 99, inclusive.

Examples

  1. {51, 47, 93}

    Returns: 241

    The best improvement you can make here is to change the 47 into a 97. The sum of the scores on the fixed report card will be 51 + 97 + 93.

  2. {99, 99}

    Returns: 198

    This report cannot be improved, the best sum of scores you can get is 99 + 99. Therefore, the optimal solution is to do nothing.

  3. {4, 5, 7, 2}

    Returns: 25

    Here you should improve the 2 into a 9. Note that you cannot add new digits, you can only change the existing ones. (For example, you are not allowed to change the 4 into a 94.)

  4. {93, 97, 92, 99, 92, 93}

    Returns: 573

    Here the optimal solution is to improve one of the 92s into a 99.

  5. {94, 6, 1, 4}

    Returns: 113

    Improving 1 to 9 is better than improving 94 to 99 or either of the two remaining options.

  6. {96, 40, 97, 14, 95, 98, 40, 2}

    Returns: 562

  7. {91, 52, 70, 94}

    Returns: 347

  8. {96, 98, 87}

    Returns: 291

  9. {98}

    Returns: 99

  10. {1, 9, 9}

    Returns: 27

  11. {32, 26}

    Returns: 128

  12. {98}

    Returns: 99

  13. {1, 5, 4, 2, 1, 90, 6, 0, 4}

    Returns: 122

  14. {91}

    Returns: 99

  15. {94, 18, 97, 55, 92, 98, 46, 98, 94, 21, 96, 98, 91, 90, 90, 94, 47, 69, 97, 90, 84, 94, 91, 64, 97, 74, 95, 58, 88, 89, 69}

    Returns: 2558

  16. {8, 6, 8}

    Returns: 25

  17. {73, 50, 72, 76, 74, 72, 61, 80, 85}

    Returns: 683

  18. {20}

    Returns: 90

  19. {99, 99}

    Returns: 198

  20. {5, 0, 81, 52, 5, 99, 99, 99, 9, 51, 9, 9, 9, 5, 9, 62, 99, 3, 13, 99, 30, 0, 9}

    Returns: 936

  21. {93, 95, 4, 96, 6, 97, 90, 96, 0, 98, 5, 97, 1, 91, 90, 9, 4, 97, 96, 9, 98, 90, 0, 90, 0, 6, 4, 90, 4, 90, 91, 96}

    Returns: 1842

  22. {99, 90, 99, 99}

    Returns: 396

  23. {19, 9, 85, 19, 2, 8, 88, 2, 39, 2, 11, 9, 69, 1, 5, 10, 89, 6, 44, 3}

    Returns: 600

  24. {46, 68, 77, 32, 79, 41, 9, 9, 61, 99, 75, 45, 9, 99, 47, 47, 99, 85, 43, 14, 35, 99, 9, 23, 99, 62, 21, 38, 99, 9, 9, 99, 9, 99, 9, 83, 34, 15, 53, 51, 30, 9, 99}

    Returns: 2257

  25. {97, 92, 93, 92, 92, 97, 94, 98, 90, 94, 95, 94, 93, 93, 93, 97, 94, 90, 98, 98, 92, 94, 95, 90, 98, 97, 91}

    Returns: 2550

  26. {1, 6, 8, 7, 9, 2}

    Returns: 41

  27. {8, 0, 3, 80, 8, 0, 94, 91, 5, 4, 25, 95, 7, 6, 3, 93, 84, 36, 4, 7, 14, 74, 92, 95, 52, 92, 64, 92, 1}

    Returns: 1309

  28. {1, 23, 3, 2, 9, 8, 9, 2, 26, 27}

    Returns: 180

  29. {1}

    Returns: 9

  30. {5, 4, 2}

    Returns: 18

  31. {90}

    Returns: 99

  32. {76, 34, 8, 9, 99, 0}

    Returns: 286

  33. {43, 86, 42, 71, 83, 14, 18}

    Returns: 437

  34. {94}

    Returns: 99

  35. {95, 92, 4, 7, 96, 91, 93, 2, 4, 4, 5, 92, 1, 6, 94, 8, 92}

    Returns: 794

  36. {99, 46, 53, 99, 27, 7, 79, 9, 1, 9, 31, 9, 56, 9, 9, 9}

    Returns: 622

  37. {58}

    Returns: 98

  38. {99}

    Returns: 99

  39. {97, 98}

    Returns: 197

  40. {93, 94, 96, 99, 9}

    Returns: 397

  41. {99, 9}

    Returns: 108

  42. {96, 91, 98, 90, 6}

    Returns: 390

  43. {9}

    Returns: 9

  44. {57}

    Returns: 97

  45. {93}

    Returns: 99

  46. {2, 99, 99, 99, 14, 99, 9, 73}

    Returns: 574

  47. {93, 36, 73, 93, 52, 12, 98, 95}

    Returns: 632

  48. {0, 1, 1, 0, 0, 3, 6, 2, 6, 2, 3}

    Returns: 33

  49. {74, 80, 70, 96, 74, 92, 96, 38, 18, 57, 96, 90, 11, 48, 97, 37, 52, 25, 96, 92, 96, 47, 96, 96, 97}

    Returns: 1851

  50. {93}

    Returns: 99

  51. {7}

    Returns: 9

  52. {77, 98, 27, 92}

    Returns: 364

  53. {91, 99, 9, 96, 9, 94, 9, 93, 4, 90, 99, 96, 9, 6, 91, 9, 98, 99, 96, 96, 99, 96, 96, 92, 9, 6, 99, 4, 99, 9, 90}

    Returns: 2001

  54. {74}

    Returns: 94

  55. {94, 90, 9}

    Returns: 202

  56. {98, 99, 99, 83, 9, 99, 93, 99, 99, 90, 45, 99, 9, 9, 97, 99, 56, 95, 93}

    Returns: 1520

  57. {3, 98, 9, 60, 4, 0}

    Returns: 204

  58. {3}

    Returns: 9

  59. {38, 94, 2, 3, 43, 90, 98, 11, 91, 42, 29, 66, 36}

    Returns: 723

  60. {91, 94, 0, 10, 1, 66, 97, 96, 9, 43, 0, 8, 8, 2, 9, 50, 97, 91, 91, 90, 98, 3, 3, 83, 92, 68, 94, 67}

    Returns: 1541

  61. {4, 3, 3, 0, 0}

    Returns: 19

  62. {99, 99, 99, 99, 9, 9, 9, 99, 99, 9, 9, 9, 99, 99, 9, 99, 99}

    Returns: 1053

  63. {7, 8, 91}

    Returns: 114

  64. {75, 87, 13, 68, 31, 11, 71, 46, 56, 17, 74, 77, 40, 48, 79, 80}

    Returns: 953

  65. {7, 0, 4, 1, 92, 92, 96, 6, 99, 1, 3, 99, 95, 9, 90, 90, 1, 99, 99, 99, 98, 92, 93, 99, 99, 99}

    Returns: 1671

  66. {90, 91, 96, 98, 96}

    Returns: 480

  67. {9, 9, 4, 99}

    Returns: 126

  68. {99, 9}

    Returns: 108

  69. {5, 99, 9, 99}

    Returns: 216

  70. {95}

    Returns: 99

  71. {99, 95, 7}

    Returns: 205

  72. {35, 25, 50, 84, 59, 49, 50, 43, 19, 26, 39, 21}

    Returns: 580

  73. {5, 9, 2, 9}

    Returns: 32

  74. {99, 1, 7}

    Returns: 115

  75. {9}

    Returns: 9

  76. {72, 83, 31, 22, 73, 44, 14, 63, 81, 30, 88, 84, 75, 10, 19, 37, 79, 34, 71, 42, 80, 30, 31, 63, 80, 79}

    Returns: 1495

  77. {92, 97}

    Returns: 196

  78. {66, 34, 75, 46, 64, 21, 54, 52, 13, 15, 70, 14, 81, 69, 30, 63, 58, 17, 46, 59, 85, 53, 36, 83, 43, 13, 45, 25, 84, 63, 59, 34, 17, 43}

    Returns: 1710

  79. {94, 96, 69, 93, 97, 17, 89, 91, 13, 38, 75, 20, 20}

    Returns: 892

  80. {94}

    Returns: 99

  81. {99, 9, 9, 99, 99, 7, 9, 99, 4, 9}

    Returns: 448

  82. {95}

    Returns: 99

  83. {93, 93, 96, 97, 90, 96, 91, 97, 96, 96, 92, 96, 93, 93, 94, 96, 92, 95, 93, 93, 96, 94, 94, 97, 98, 91, 91, 97, 93, 91, 94, 92, 91, 96, 96, 91, 97, 93, 93, 92, 97, 97, 97}

    Returns: 4059

  84. {93, 93}

    Returns: 192

  85. {41, 99, 20, 58, 99, 9, 9}

    Returns: 405

  86. {99, 9, 80, 26, 14, 9, 73, 6, 23, 9, 99, 99, 68, 8, 31, 99, 4, 99, 18, 21, 7, 4, 59, 82, 50, 6, 45, 77}

    Returns: 1304

  87. {90, 92, 47, 91, 91, 70, 62, 96, 41, 92, 92, 98, 61, 39, 66, 44, 70, 98, 95, 56, 83, 45, 88, 30, 92, 89, 93, 90, 93}

    Returns: 2254

  88. {12, 28}

    Returns: 120

  89. {5, 0}

    Returns: 14

  90. {92, 96, 99, 9, 90, 90, 97, 95, 9, 98, 63, 86, 99, 99, 90, 93, 99, 56, 56, 92, 96, 9, 90, 90, 95, 92, 90, 65, 94, 78, 92, 61, 69, 90, 90, 49, 72, 95, 92, 84, 75}

    Returns: 3326

  91. {65, 59, 31, 50, 13, 57, 43, 40, 23, 79, 80, 13, 76, 47, 72, 82, 75, 24, 20, 32, 60, 86, 62, 76, 80, 10, 89, 53, 49, 44, 77, 61, 45, 47, 25, 42, 15, 67, 17, 15, 44}

    Returns: 2125

  92. {82, 13, 24, 90, 99, 76, 1, 84, 97, 97, 90}

    Returns: 833

  93. {47}

    Returns: 97

  94. {7}

    Returns: 9

  95. {2, 0, 1, 3, 4, 4, 1, 7, 5, 6, 8, 5, 9, 1, 6, 6, 6, 2, 6, 5, 4, 1, 7, 6, 3, 0, 9, 3, 1, 5, 0, 4, 6, 1, 0, 7, 7, 0, 1, 2, 8, 6, 3, 6, 0, 0, 3, 6, 6, 9}

    Returns: 210

  96. {7}

    Returns: 9

  97. {99}

    Returns: 99

  98. {9, 9, 9, 9, 88, 99, 37, 43, 40, 99, 30, 9, 9, 9, 99, 9, 24, 47, 99, 99, 99, 99, 64, 9, 99, 34, 80, 18, 40, 9}

    Returns: 1507

  99. {11, 7 }

    Returns: 98

  100. {10, 1 }

    Returns: 91

  101. {5, 72 }

    Returns: 97

  102. {10, 10, 10 }

    Returns: 110

  103. {92, 94 }

    Returns: 193

  104. {9, 10 }

    Returns: 99

  105. {10 }

    Returns: 90

  106. {92, 8 }

    Returns: 107

  107. {8, 91 }

    Returns: 107

  108. {9, 25, 35 }

    Returns: 139

  109. {71, 0 }

    Returns: 91

  110. {0, 0, 9 }

    Returns: 18

  111. {0 }

    Returns: 9

  112. {20, 10 }

    Returns: 110

  113. {8, 51 }

    Returns: 99


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: