Statistics

Problem Statement for "SplittingFoxes2"

Problem Statement

Once again, Fox Ciel is practicing splitting. This time there are N cells arranged into a circle. The cells are numbered 0 through N-1 around the circle (with cell N-1 being adjacent to cell 0).


At the beginning, there was exactly 1 fox in cell 0, and all the remaining cells were empty. Then there were two rounds of splitting, as described below.


There is some unknown splitting pattern P: a sequence of N non-negative integers. The pattern should also be considered cyclic: P[N-1] is adjacent to P[0]. The pattern is known to be symmetric around 0. Formally, for each i, P[i mod N] = P[(-i) mod N].


For example, for N=5 one valid pattern is P=(3,1,4,4,1). Note that for N=5 we must have P[1]=P[4] and P[2]=P[3].


We will now describe what happens when a fox splits. Assume that the fox is currently in the cell x. The fox that splits disappears. In its place, new foxes appear according to the pattern P. For each i from 0 to N-1, inclusive, P[i] new foxes appear in the cell (x+i) mod N.


In each round of splitting, all of the currently present foxes split at the same time, independent from each other. All the foxes use the same splitting pattern P.


You are given a int[] amount with N elements. For each i, amount[i] is the number of foxes in cell i after the second round of splitting. Your goal is to recover and return the pattern P. If there are multiple possibilities, return the lexicographically smallest one. If there is no pattern P that can produce amount, return {-1}. (I.e., the return value should be a int[] with 1 element, and the value of the element should be -1.)

Definition

Class:
SplittingFoxes2
Method:
getPattern
Parameters:
int[]
Returns:
int[]
Method signature:
int[] getPattern(int[] amount)
(be sure your method is public)

Notes

  • Given two different N-element sequences of non-negative integers, the lexicographically smaller one is the one with the smaller element on the smallest index where they differ.
  • The 'mod N' operator used in the problem statement is the mathematical 'modulo N' operator that always returns an integer between 0 and N-1, inclusive. For example, (-3) mod 10 = 7.

Constraints

  • amount will contain between 1 and 25 elements, inclusive.
  • For each i, amount[i mod N] will be equal to amount[(-i) mod N], where N is the number of elements in amount.
  • Each element in amount will be between 0 and 1,000,000, inclusive.

Examples

  1. {2,0,1,1,0}

    Returns: {0, 1, 0, 0, 1 }

    In each step each fox splits into two new ones: one in the cell to its left and one in the cell to its right.

  2. {1,0,0,0,0,0}

    Returns: {0, 0, 0, 1, 0, 0 }

    Note that P = {1, 0, 0, 0, 0, 0} would also produce the final state given in amount. The correct return value is lexicographically smaller than this one.

  3. {2,0,0,0,0,0}

    Returns: {-1 }

    There is no solution in this case.

  4. {10,0,8,0,10,0,8,0}

    Returns: {1, 0, 2, 0, 1, 0, 2, 0 }

  5. {35198,27644,22185,26896,34136,26896,22185,27644}

    Returns: {0, 59, 90, 76, 22, 76, 90, 59 }

    This time we have 8 solutions: {0, 59, 90, 76, 22, 76, 90, 59} {17, 42, 107, 59, 39, 59, 107, 42} {22, 76, 90, 59, 0, 59, 90, 76} {39, 59, 107, 42, 17, 42, 107, 59} {79, 59, 11, 76, 101, 76, 11, 59} {96, 42, 28, 59, 118, 59, 28, 42} {101, 76, 11, 59, 79, 59, 11, 76} {118, 59, 28, 42, 96, 42, 28, 59}

  6. {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  7. {3, 0, 0, 2, 0, 0, 1, 0, 1, 0, 0, 2, 0, 0}

    Returns: {0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0 }

  8. {880357, 811834, 811834}

    Returns: {-1 }

  9. {321, 216, 288, 394, 419, 329, 157, 173, 226, 133, 401, 128, 128, 401, 133, 226, 173, 157, 329, 419, 394, 288, 216}

    Returns: {-1 }

  10. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  11. {18348, 18204, 18204}

    Returns: {70, 82, 82 }

  12. {8, 5, 5, 3, 2, 3, 2, 4, 4, 4, 4, 2, 3, 2, 3, 5, 5}

    Returns: {0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1 }

  13. {5083, 5042, 5057, 5057, 5042}

    Returns: {33, 29, 34, 34, 29 }

  14. {26, 18, 19, 16, 13, 14, 14, 12, 18, 12, 14, 14, 13, 16, 19, 18}

    Returns: {0, 0, 0, 2, 1, 2, 1, 1, 2, 1, 1, 2, 1, 2, 0, 0 }

  15. {25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  16. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  17. {5, 1, 0, 2, 4, 0, 0, 3, 3, 0, 0, 4, 2, 0, 1}

    Returns: {1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0 }

  18. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  19. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  20. {15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  21. {2, 0, 0, 0, 2, 0, 0, 0}

    Returns: {0, 0, 1, 0, 0, 0, 1, 0 }

  22. {7, 7, 7, 7, 7, 7, 7}

    Returns: {1, 1, 1, 1, 1, 1, 1 }

  23. {8730, 8694}

    Returns: {63, 69 }

  24. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  25. {16, 12, 11, 10, 12, 12, 14, 10, 10, 10, 13, 12, 13, 10, 10, 10, 14, 12, 12, 10, 11, 12}

    Returns: {0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0 }

  26. {89, 72, 72, 72, 67, 60, 63, 60, 63, 60, 67, 72, 72, 72}

    Returns: {1, 2, 1, 2, 1, 4, 4, 2, 4, 4, 1, 2, 1, 2 }

  27. {29763, 29696, 29687, 29728, 29673, 29672, 29734, 29672, 29673, 29728, 29687, 29696}

    Returns: {50, 46, 49, 53, 50, 49, 53, 49, 50, 53, 49, 46 }

  28. {336, 320, 322, 328, 320, 328, 322, 320, 328, 320, 322, 328, 320, 328, 322, 320}

    Returns: {3, 5, 4, 4, 5, 4, 6, 5, 3, 5, 6, 4, 5, 4, 4, 5 }

  29. {13564, 13552, 13553, 13555, 13552, 13555, 13549, 13549, 13553, 13553, 13549, 13549, 13555, 13552, 13555, 13553, 13552}

    Returns: {28, 27, 28, 29, 27, 29, 29, 29, 28, 28, 29, 29, 29, 27, 29, 28, 27 }

  30. {118, 113, 116, 116, 113}

    Returns: {6, 4, 5, 5, 4 }

  31. {109471, 109193, 109359, 109298, 109251, 109301, 109292, 109219, 109399, 109215, 109350, 109350, 109215, 109399, 109219, 109292, 109301, 109251, 109298, 109359, 109193}

    Returns: {69, 77, 69, 72, 73, 70, 69, 75, 69, 76, 73, 73, 76, 69, 75, 69, 70, 73, 72, 69, 77 }

  32. {0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0 }

  33. {46829, 43848, 44800, 44868, 44016, 43804, 44424, 44212, 43876, 44212, 44424, 43804, 44016, 44868, 44800, 43848}

    Returns: {49, 44, 58, 46, 34, 70, 44, 66, 70, 66, 44, 70, 34, 46, 58, 44 }

  34. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  35. {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  36. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  37. {0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0 }

  38. {9, 3, 2, 2, 5, 2, 2, 3, 4, 3, 4, 4, 2, 2, 4, 4, 3, 4, 3, 2, 2, 5, 2, 2, 3}

    Returns: {1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0 }

  39. {3852, 3148, 3566, 3108, 3560, 3096, 3616, 3184, 3585, 3112, 3618, 3072, 3474, 3072, 3618, 3112, 3585, 3184, 3616, 3096, 3560, 3108, 3566, 3148}

    Returns: {11, 3, 17, 7, 16, 15, 12, 5, 15, 11, 17, 11, 15, 11, 17, 11, 15, 5, 12, 15, 16, 7, 17, 3 }

  40. {321, 317, 315, 318, 320, 316, 315, 319, 319, 315, 316, 320, 318, 315, 317}

    Returns: {5, 5, 4, 5, 5, 4, 4, 5, 5, 4, 4, 5, 5, 4, 5 }

  41. {14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  42. {94494, 81094, 83083, 83084, 85223, 89000, 80387, 84474, 82793, 84276, 88126, 79872, 84766, 79872, 88126, 84276, 82793, 84474, 80387, 89000, 85223, 83084, 83083, 81094}

    Returns: {37, 66, 37, 79, 56, 29, 58, 71, 93, 48, 40, 93, 45, 93, 40, 48, 93, 71, 58, 29, 56, 79, 37, 66 }

  43. {301, 272, 272, 292, 272, 272}

    Returns: {3, 8, 8, 6, 8, 8 }

  44. {125, 125, 125, 125, 125}

    Returns: {5, 5, 5, 5, 5 }

  45. {15, 13, 13, 14, 13, 13, 14, 13, 13}

    Returns: {1, 1, 1, 2, 1, 1, 2, 1, 1 }

  46. {26061, 23910, 22080, 23802, 25324, 23802, 22080, 23910}

    Returns: {61, 55, 32, 57, 88, 57, 32, 55 }

  47. {238985, 235736}

    Returns: {316, 373 }

  48. {288359, 265850, 255334, 266714, 282774, 266858, 251430, 266858, 282774, 266714, 255334, 265850}

    Returns: {82, 195, 189, 147, 91, 139, 189, 139, 91, 147, 189, 195 }

  49. {10, 6, 4, 3, 0, 2, 3, 4, 7, 6, 5, 4, 1, 1, 4, 5, 6, 7, 4, 3, 2, 0, 3, 4, 6}

    Returns: {0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0 }

  50. {221293, 208736, 199304, 201064, 210499, 216948, 207534, 202881, 202881, 207534, 216948, 210499, 201064, 199304, 208736}

    Returns: {117, 132, 109, 80, 139, 146, 152, 66, 66, 152, 146, 139, 80, 109, 132 }

  51. {10, 4, 5, 2, 5, 2, 6, 4, 7, 2, 6, 4, 6, 2, 7, 4, 6, 2, 5, 2, 5, 4}

    Returns: {0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0 }

  52. {16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  53. {24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  54. {0}

    Returns: {0 }

  55. {128069, 126259, 125167, 126353, 126190, 125960, 126705, 125836, 124907, 125729, 126424, 126424, 125729, 124907, 125836, 126705, 125960, 126190, 126353, 125167, 126259}

    Returns: {79, 63, 68, 91, 77, 62, 83, 88, 88, 81, 73, 73, 81, 88, 88, 83, 62, 77, 91, 68, 63 }

  56. {37875, 32690, 32833, 32833, 32690}

    Returns: {25, 97, 96, 96, 97 }

  57. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  58. {400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, 400}

    Returns: {5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }

  59. {309390, 308548, 308960, 309052, 308674, 309052, 308960, 308548}

    Returns: {181, 207, 196, 193, 199, 193, 196, 207 }

  60. {22193, 7992, 15711, 9458, 15521, 10280, 11204, 10280, 15521, 9458, 15711, 7992}

    Returns: {47, 20, 7, 18, 76, 9, 82, 9, 76, 18, 7, 20 }

  61. {33513, 29479, 27626, 25441, 27292, 31146, 30779, 29497, 26284, 26284, 29497, 30779, 31146, 27292, 25441, 27626, 29479}

    Returns: {79, 32, 38, 27, 42, 65, 52, 39, 15, 15, 39, 52, 65, 42, 27, 38, 32 }

  62. {0, 0, 0}

    Returns: {0, 0, 0 }

  63. {13, 8, 6, 2, 6, 8, 12, 8, 6, 2, 6, 8, 12, 8, 6, 2, 6, 8, 12, 8, 6, 2, 6, 8}

    Returns: {0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0 }

  64. {19157, 18064, 18623, 18373, 18480, 18588, 18148, 18541, 18384, 18363, 18327, 18431, 18431, 18327, 18363, 18384, 18541, 18148, 18588, 18480, 18373, 18623, 18064}

    Returns: {35, 21, 26, 20, 36, 27, 29, 31, 27, 36, 21, 34, 34, 21, 36, 27, 31, 29, 27, 36, 20, 26, 21 }

  65. {21006, 11766, 11766}

    Returns: {-1 }

  66. {679451, 653310, 667570, 653310}

    Returns: {403, 357, 512, 357 }

  67. {9, 9, 9, 9, 9, 9, 9, 9, 9}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1 }

  68. {177, 151, 150, 138, 134, 148, 144, 160, 156, 157, 149, 144, 141, 141, 144, 149, 157, 156, 160, 144, 148, 134, 138, 150, 151}

    Returns: {1, 4, 2, 2, 2, 1, 3, 2, 3, 4, 4, 2, 1, 1, 2, 4, 4, 3, 2, 3, 1, 2, 2, 2, 4 }

  69. {955, 882, 893, 929, 866, 919, 910, 877, 943, 884, 884, 943, 877, 910, 919, 866, 929, 893, 882}

    Returns: {5, 9, 8, 4, 7, 6, 7, 9, 5, 8, 8, 5, 9, 7, 6, 7, 4, 8, 9 }

  70. {15276, 15076, 14824, 14824, 15076}

    Returns: {62, 60, 46, 46, 60 }

  71. {50585, 49116, 48978, 49564, 49379, 49566, 49479, 49468, 48900, 49676, 49799, 49018, 49450, 49018, 49799, 49676, 48900, 49468, 49479, 49566, 49379, 49564, 48978, 49116}

    Returns: {36, 44, 49, 49, 42, 35, 53, 40, 54, 54, 34, 46, 53, 46, 34, 54, 54, 40, 53, 35, 42, 49, 49, 44 }

  72. {112, 106, 106, 110, 107, 106, 108, 108, 107, 108, 107, 108, 108, 106, 107, 110, 106, 106}

    Returns: {2, 3, 2, 2, 3, 2, 2, 3, 3, 2, 3, 3, 2, 2, 3, 2, 2, 3 }

  73. {438, 354, 321, 356, 311, 276, 367, 374, 320, 374, 367, 276, 311, 356, 321, 354}

    Returns: {2, 2, 2, 9, 6, 4, 7, 5, 2, 5, 7, 4, 6, 9, 2, 2 }

  74. {8, 8, 8, 8, 8, 8, 8, 8}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1 }

  75. {165, 105, 111, 134, 132, 99, 137, 129, 104, 122, 140, 109, 109, 140, 122, 104, 129, 137, 99, 132, 134, 111, 105}

    Returns: {1, 3, 4, 3, 0, 4, 1, 2, 3, 3, 0, 3, 3, 0, 3, 3, 2, 1, 4, 0, 3, 4, 3 }

  76. {143, 126, 134, 126}

    Returns: {3, 7, 6, 7 }

  77. {11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11}

    Returns: {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

  78. {180900, 168560, 177536, 168560}

    Returns: {143, 245, 201, 245 }

  79. {14, 10, 6, 6, 9, 10, 7, 4, 7, 10, 11, 8, 6, 8, 11, 10, 7, 4, 7, 10, 9, 6, 6, 10}

    Returns: {1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1 }

  80. {299961, 623342, 339298, 664576, 373387, 299907, 247153, 677431, 751810, 526457, 677352, 355475, 355475, 677352, 526457, 751810, 677431, 247153, 299907, 373387, 664576, 339298, 623342}

    Returns: {-1 }

  81. {19430, 17836, 18122, 19168, 17914, 18220, 18950, 18220, 17914, 19168, 18122, 17836}

    Returns: {45, 39, 30, 52, 38, 27, 53, 27, 38, 52, 30, 39 }

  82. {198, 60, 107, 63, 121, 121, 63, 107, 60}

    Returns: {12, 1, 3, 1, 4, 4, 1, 3, 1 }

  83. {4766, 4608, 4637, 4664, 4588, 4636, 4664, 4636, 4588, 4664, 4637, 4608}

    Returns: {24, 22, 18, 20, 18, 15, 26, 15, 18, 20, 18, 22 }

  84. {6851, 6329, 6626, 6626, 6329}

    Returns: {23, 44, 35, 35, 44 }

  85. {5, 3, 2, 3, 2, 2, 3, 2, 3}

    Returns: {1, 0, 0, 1, 1, 1, 1, 0, 0 }

  86. {12, 4, 8, 8, 4}

    Returns: {2, 0, 2, 2, 0 }

  87. {17, 12, 11, 12, 12, 10, 11, 14, 13, 12, 12, 12, 10, 12, 12, 12, 13, 14, 11, 10, 12, 12, 11, 12}

    Returns: {0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1 }

  88. {9, 1, 2, 6, 2, 3, 4, 2, 5, 2, 2, 5, 2, 2, 5, 2, 2, 5, 2, 4, 3, 2, 6, 2, 1}

    Returns: {1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0 }

  89. {47935, 47362, 47310, 47673, 47361, 47059, 47314, 47214, 47044, 47044, 47214, 47314, 47059, 47361, 47673, 47310, 47362}

    Returns: {47, 62, 61, 50, 52, 58, 45, 49, 48, 48, 49, 45, 58, 52, 50, 61, 62 }

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

    Returns: {0, 1, 0, 1, 1, 0, 1 }

  91. {526346, 526330}

    Returns: {511, 515 }

  92. {205532, 175716, 175716}

    Returns: {-1 }

  93. {7, 2, 5, 2, 4, 2, 3, 0, 3, 0, 3, 0, 3, 2, 4, 2, 5, 2}

    Returns: {0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0 }

  94. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  95. {64122, 56679, 59556, 59108, 58458, 61704, 56566, 58988, 60408, 57421, 61410, 56513, 60456, 60456, 56513, 61410, 57421, 60408, 58988, 56566, 61704, 58458, 59108, 59556, 56679}

    Returns: {34, 68, 26, 56, 58, 30, 48, 45, 51, 62, 26, 58, 63, 63, 58, 26, 62, 51, 45, 48, 30, 58, 56, 26, 68 }

  96. {25}

    Returns: {5 }

  97. {951133, 974688, 974688}

    Returns: {-1 }

  98. {576, 542, 545, 534, 541, 541, 534, 545, 542}

    Returns: {10, 5, 7, 8, 10, 10, 8, 7, 5 }

  99. {777235, 772137, 773790, 773790, 772137}

    Returns: {405, 362, 419, 419, 362 }

  100. {34341, 32801, 33636, 33018, 32979, 32979, 33018, 33636, 32801}

    Returns: {63, 74, 51, 70, 47, 47, 70, 51, 74 }

  101. {699, 600, 614, 600, 649, 649, 600, 614, 600}

    Returns: {9, 10, 3, 10, 10, 10, 10, 3, 10 }

  102. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

  103. {279, 255, 162, 274, 219, 257, 257, 219, 274, 162, 255}

    Returns: {-1 }

  104. {576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576, 576}

    Returns: {6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }

  105. {525, 448, 422, 450, 400, 435, 449, 379, 411, 427, 387, 430, 430, 387, 427, 411, 379, 449, 435, 400, 450, 422, 448}

    Returns: {3, 2, 4, 7, 3, 1, 4, 3, 5, 7, 4, 8, 8, 4, 7, 5, 3, 4, 1, 3, 7, 4, 2 }

  106. {315128, 269076, 280690, 249552, 290350, 264204, 296812, 264204, 290350, 249552, 280690, 269076}

    Returns: {143, 107, 246, 175, 162, 65, 169, 65, 162, 175, 246, 107 }

  107. {212,128,145,149,124,170,147,142,136,158,131,146,146,131,158,136,142,147,170,124,149,145,128}

    Returns: {2, 1, 2, 5, 0, 1, 4, 2, 6, 2, 3, 2, 2, 3, 2, 6, 2, 4, 1, 0, 5, 2, 1 }

  108. {26309,14550,16677,18063,21354,13808,16144,21778,16717,16127,18411,21298,15699,15699,21298,18411,16127,16717,21778,16144,13808,21354,18063,16677,14550}

    Returns: {57, 3, 30, 16, 51, 9, 15, 52, 43, 22, 14, 47, 4, 4, 47, 14, 22, 43, 52, 15, 9, 51, 16, 30, 3 }

  109. {63193,45956,50906,45982,53189,39446,44748,45058,46957,36884,46957,45058,44748,39446,53189,45982,50906,45956}

    Returns: {66, 97, 76, 39, 25, 70, 31, 39, 1, 97, 1, 39, 31, 70, 25, 39, 76, 97 }

  110. {15,14,13,12,13,14}

    Returns: {1, 1, 2, 2, 2, 1 }

  111. {7,2,2,4,2,0,3,2,1,2,2,0,2,0,2,2,1,2,3,0,2,4,2,2}

    Returns: {0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0 }

  112. {158,144,134,112,106,96,102,96,106,112,134,144}

    Returns: {0, 1, 2, 5, 4, 5, 4, 5, 4, 5, 2, 1 }

  113. {22,16,12,13,20,20,13,12,16}

    Returns: {2, 2, 0, 1, 2, 2, 1, 0, 2 }

  114. {3320,2526,1999,2158,1657,1316,1650,1660,1762,2674,2721,2230,2721,2674,1762,1660,1650,1316,1657,2158,1999,2526}

    Returns: {5, 19, 18, 6, 4, 6, 3, 2, 10, 5, 16, 31, 16, 5, 10, 2, 3, 6, 4, 6, 18, 19 }

  115. {338103,243175,203663,246110,260322,234143,174532,238084,238084,174532,234143,260322,246110,203663,243175}

    Returns: {231, 159, 224, 72, 14, 213, 126, 17, 17, 126, 213, 14, 72, 224, 159 }

  116. {242,242}

    Returns: {11, 11 }

  117. {133058,55440,133058,55440}

    Returns: {55, 252, 55, 252 }

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

    Returns: {-1 }

  119. {4,2,4,2,5,2,4,2}

    Returns: {-1 }

  120. {6,4,6,4,2,4,6,4}

    Returns: {-1 }

  121. {25613, 28319, 2075, 25918, 4484, 16467, 23796, 20, 3870, 3698, 2572, 28074, 13823, 13823, 28074, 2572, 3698, 3870, 20, 23796, 16467, 4484, 25918, 2075, 28319 }

    Returns: {-1 }

  122. {35198, 27644, 22185, 26896, 34136, 26896, 22185, 27644 }

    Returns: {0, 59, 90, 76, 22, 76, 90, 59 }

  123. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    Returns: {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }


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: