Statistics

Problem Statement for "TriFibonacci"

Problem Statement

A TriFibonacci sequence begins by defining the first three elements A[0], A[1] and A[2]. The remaining elements are calculated using the following recurrence:
A[i] = A[i-1] + A[i-2] + A[i-3]


You are given a int[] A which contains exactly one element that is equal to -1, you must replace this element with a positive number in a way that the sequence becomes a TriFibonacci sequence. Return this number. If no such positive number exists, return -1.

Definition

Class:
TriFibonacci
Method:
complete
Parameters:
int[]
Returns:
int
Method signature:
int complete(int[] A)
(be sure your method is public)

Notes

  • The constraints for the elements of the input int[] A do not necessarily apply for the replacement to the missing element.

Constraints

  • A will contain between 4 and 20 elements, inclusive.
  • Each element of A will be -1 or between 1 and 1000000, inclusive.
  • Exactly one element of A will be -1.

Examples

  1. {1,2,3,-1}

    Returns: 6

  2. {10, 20, 30, 60, -1 , 200}

    Returns: 110

  3. {1, 2, 3, 5, -1}

    Returns: -1

    No replacement can make this sequence TriFibonacci as 5 is not equal to 1+2+3.

  4. {1, 1, -1, 2, 3}

    Returns: -1

    The missing element must be 0 for this sequence to be TriFibonacci. Since this is not a positive integer, return -1.

  5. {-1, 7, 8, 1000000}

    Returns: 999985

  6. {1,2,3,6,11,20,-1}

    Returns: 37

  7. {1000000,1000000,1000000,-1}

    Returns: 3000000

  8. {4,3,5,-1,20,37,69,126,232,427,785,1444,2656,4885}

    Returns: 12

  9. {8,9,-1,23,38,67,128,233,428,789,1450,2667,4906,9023,16596,30525,56144}

    Returns: 6

  10. {10,7,10,27,44,81,152,277,-1}

    Returns: 510

  11. {10,2,7,-1,28}

    Returns: 19

  12. {10,-1,2,20}

    Returns: 8

  13. {1,7,5,13,25,43,-1,149,273,503,925,1701,3129,5755,10585,19469,35809,65863,121141,222813}

    Returns: 81

  14. {8,1,10,19,30,59,108,197,364,669,1230,2263,-1,7655,14080,25897,47632,87609,161138}

    Returns: 4162

  15. {6,7,7,20,34,-1,115}

    Returns: 61

  16. {10,6,6,22,34,62,118,214,394,-1,1334,2454,4514,8302,15270,28086,51658,95014,174758}

    Returns: 726

  17. {-1,1,6,10,17,33,60,110}

    Returns: 3

  18. {10,4,-1,23,36,68,127,231,426,784,1441,2651,4876,8968,16495}

    Returns: 9

  19. {-1,3,10,22}

    Returns: 9

  20. {7,5,-1,18,29,53,100,182,335,617,1134,2086}

    Returns: 6

  21. {7,4,6,-1,27,50,94,171}

    Returns: 17

  22. {2,5,5,12,22,39,73,-1,246,453,833,1532,2818,5183,9533}

    Returns: 134

  23. {9,3,6,18,27,51,96,174,321,591,1086,1998,3675,6759,-1,22866}

    Returns: 12432

  24. {2,2,1,5,8,14,-1,49,90,166,305,561,1032,1898}

    Returns: 27

  25. {3,1,8,-1,21,41,74,136,251,461,848,1560,2869,5277,9706,17852,32835}

    Returns: 12

  26. {6,8,6,20,-1,60,114,208,382,704,1294,2380,4378,8052,14810,27240,50102,92152,169494}

    Returns: 34

  27. {1,5,5,11,21,37,69,127,233,429,-1,1451,2669,4909,9029,16607,30545,56181,103333}

    Returns: 789

  28. {5,2,7,13,21,40,-1}

    Returns: -1

  29. {-1,7,7,17,32,57,107,196,360,663,1219,2242,4124,7585,13951,25660,47196,86807}

    Returns: -1

  30. {10,1,2,13,17,-1,60,107,198,365,670,1233,2268,4171,7672,14111}

    Returns: -1

  31. {4,3,5,12,20,37,69,127,232,427,785,1444,2656,4885,-1,16526,30396}

    Returns: -1

  32. {-1,1,3,9,12,23,43,78}

    Returns: -1

  33. {10,10,5,25,40,69,135,245,450,-1,1525,2805,5160,9490,17455,32105,59050,108610,199765,367425}

    Returns: -1

  34. {3,-1,1,12,21,34,67,123,223,412,757,1392}

    Returns: -1

  35. {-1,7,5,17,30,53,101,184,338}

    Returns: -1

  36. {7,9,2,18,29,49,96,174,319,589,1082,1990,3661,6733,12384,-1,41895,77057,141729}

    Returns: -1

  37. {5,4,8,16,29,54,-1}

    Returns: -1

  38. {7,-1,4,13,19}

    Returns: 2

  39. {8,2,4,14,20,38,72,130,239,442,812,-1,2748,5054}

    Returns: -1

  40. {6,-1,9,16}

    Returns: 1

  41. {4,8,4,-1,27,48,92}

    Returns: -1

  42. {3,-1,4,7}

    Returns: -1

  43. {9,8,-1,26,43,78,147,268,493,908,1669,3071,5647,10386}

    Returns: -1

  44. {-1,6,1,18,24,42}

    Returns: -1

  45. {4,8,3,15,26,-1,85,155,285,524,963}

    Returns: -1

  46. {6,10,-1,18,30,50,99,178,326,602,1106,2034,3742}

    Returns: -1

  47. {6,-1,5,19,34,59,113,206,378,697,1281,2356,4334,7971,14661,26966,49598,91225,167789}

    Returns: -1

  48. {10,10,-1,20}

    Returns: -1

  49. {-1,1,1,2,4,8,16}

    Returns: -1

  50. {-1,1,2,4,7,13,24,44,81,149}

    Returns: 1

  51. {1, 2, 3, -1, 100 }

    Returns: -1

  52. {10, 20, 30, 60, -1, 100 }

    Returns: -1

  53. {1, 2, 3, -1, 6, 7 }

    Returns: -1

  54. {1, 1, -1, 2, 3 }

    Returns: -1

  55. {-1, 7, 8, 1000000 }

    Returns: 999985

  56. {-1, 2, 3, 6 }

    Returns: 1

  57. {1, 2, 3, 5, -1 }

    Returns: -1

  58. {1, 2, -1, 6 }

    Returns: 3

  59. {1, 1, -1, 3 }

    Returns: 1

  60. {-1, 2, 5, 1 }

    Returns: -1

  61. {-1, 2, 3, 1 }

    Returns: -1

  62. {-1, 1, 2, 3 }

    Returns: -1

  63. {1, 2, 3, -1, 100000 }

    Returns: -1

  64. {1, 2, 3, 5, -1, 6 }

    Returns: -1

  65. {1, 2, -1, 4 }

    Returns: 1

  66. {1, 1, -1, 10, 10 }

    Returns: -1

  67. {-1, 1, 2, 1 }

    Returns: -1

  68. {5, 5, 6, -1, 3 }

    Returns: -1

  69. {100, 100, -1, 10 }

    Returns: -1

  70. {-1, 2, 3, 100, 1000 }

    Returns: -1

  71. {-1, 100, 200, 500 }

    Returns: 200

  72. {-1, 1, 2, 33, 33 }

    Returns: -1

  73. {1, 2, 3, -1, 11, 21 }

    Returns: -1

  74. {-1, 7, 8, 1000000, 5 }

    Returns: -1

  75. {-1, 20, 30, 20 }

    Returns: -1

  76. {3, 4, 5, -1, 30 }

    Returns: -1

  77. {1, 2, 3, 6, -1, 100 }

    Returns: -1

  78. {1, 1, -1, 4 }

    Returns: 2

  79. {-1, 2, 3, 3 }

    Returns: -1

  80. {1, 2, -1, 1 }

    Returns: -1

  81. {1, 1, -1, 2 }

    Returns: -1

  82. {-1, 2, 3, 8, 18 }

    Returns: -1

  83. {-1, 2, 2, 2 }

    Returns: -1

  84. {-1, 2, 3, 6, 1 }

    Returns: -1

  85. {1, -1, 3, 5 }

    Returns: 1

  86. {1, 2, -1, 6, 11 }

    Returns: 3

  87. {1, 1, 1, -1, 10 }

    Returns: -1

  88. {1, 2, 3, -1, 1000 }

    Returns: -1

  89. {1, 1, -1, 3, 6 }

    Returns: -1

  90. {1, -1, 3, 6 }

    Returns: 2

  91. {1, 2, 3, 6, 11, -1, 9 }

    Returns: -1

  92. {-1, 1, 1, 2 }

    Returns: -1

  93. {1, 2, 3, -1, 9000 }

    Returns: -1

  94. {1, 2, -1, 6, 5 }

    Returns: -1

  95. {1, -1, 2, 6 }

    Returns: 3

  96. {1, 1, -1, 1 }

    Returns: -1

  97. {2, 2, -1, 5 }

    Returns: 1

  98. {1, 1, 1, -1, 1 }

    Returns: -1

  99. {1, 1, -1, 2, 3, 5 }

    Returns: -1

  100. {2, 1, 3, -1, 6 }

    Returns: -1

  101. {-1, 1, 1, 3, 3, 3, 100 }

    Returns: -1

  102. {-1, 2, 3, 6, 11 }

    Returns: 1

  103. {1, 2, 3, -1, 5 }

    Returns: -1

  104. {1, -1, 2, 9, 10 }

    Returns: -1

  105. {10, 2, -1, 1 }

    Returns: -1

  106. {1, 2, 3, 6, -1, 2 }

    Returns: -1

  107. {-1, 1, 4, 2 }

    Returns: -1

  108. {1, -1, 2, 3 }

    Returns: -1

  109. {10, 10, -1, 2 }

    Returns: -1

  110. {1, 2, -1, 10 }

    Returns: 7

  111. {1, 2, 3, 6, -1, 101 }

    Returns: -1

  112. {1, 1, 2, -1, 10 }

    Returns: -1

  113. {1, 2, -1, 6, 12 }

    Returns: -1

  114. {1, -1, 1, 5 }

    Returns: 3

  115. {10, 20, 30, 60, -1, 200 }

    Returns: 110

  116. {-1, 4, 4, 4 }

    Returns: -1

  117. {2, 2, -1, 1 }

    Returns: -1

  118. {2, 3, -1, 3 }

    Returns: -1

  119. {1, 3, -1, 2, 3 }

    Returns: -1

  120. {1, -1, 2, 10 }

    Returns: 7

  121. {-1, 1, 1, 3, 8, 10, 100 }

    Returns: -1

  122. {100, 100, -1, 1 }

    Returns: -1

  123. {1, 1, 1, -1, 12 }

    Returns: -1

  124. {2, -1, 3, 2 }

    Returns: -1

  125. {1, 1, 1, -1, 1000 }

    Returns: -1

  126. {-1, 5, 9, 10 }

    Returns: -1

  127. {-1, 4, 5, 11, 30 }

    Returns: -1

  128. {1, 1, 2, 4, -1, 12 }

    Returns: -1

  129. {1, -1, 10, 8 }

    Returns: -1

  130. {10, 20, -1, 60 }

    Returns: 30

  131. {5, 5, -1, 3 }

    Returns: -1

  132. {2, -1, 2, 2 }

    Returns: -1

  133. {-1, 2, 3, 5 }

    Returns: -1

  134. {-1, 4, 1, 2 }

    Returns: -1

  135. {1, -1, 2, 5 }

    Returns: 2

  136. {-1, 1, 1, 3 }

    Returns: 1

  137. {-1, 2, 2, 5, 10 }

    Returns: -1

  138. {-1, 3, 1, 2 }

    Returns: -1

  139. {-1, 2, 3, 6, 7, 8, 9 }

    Returns: -1

  140. {2, 2, -1, 2, 2 }

    Returns: -1

  141. {1, 2, -1, 5, 19 }

    Returns: -1

  142. {-1, 2, 4, 4 }

    Returns: -1

  143. {1, -1, 2, 4 }

    Returns: 1

  144. {-1, 1, 2, 4, 7, 13 }

    Returns: 1

  145. {1, 2, 10, -1, 11, 11, 11, 11 }

    Returns: -1

  146. {1, 2, -1, 6, 17 }

    Returns: -1

  147. {2, -1, 4, 6 }

    Returns: -1

  148. {12, 14, -1, 20 }

    Returns: -1

  149. {1, 1, 1, 1, -1 }

    Returns: -1

  150. {1, -1, 1, 6 }

    Returns: 4

  151. {-1, 1, 3, 2 }

    Returns: -1

  152. {1, -1, 1, 2, 3 }

    Returns: -1

  153. {-1, 1, 1, 3, 6 }

    Returns: -1

  154. {1, -1, 2, 33 }

    Returns: 30

  155. {1, 3, -1, 1 }

    Returns: -1

  156. {1, 1000000, 3, -1 }

    Returns: 1000004

  157. {1, 1, -1, 4, 10 }

    Returns: -1

  158. {-1, 4, 5, 7 }

    Returns: -1

  159. {1000000, 1000000, 1000000, -1 }

    Returns: 3000000

  160. {-1, 1, 1, 3, 5, 9, 17 }

    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: