Statistics

Problem Statement for "SolvePolynomial"

Problem Statement

An integer polynomial of degree n is a function of the form a0 + a1x1 + a2x2 + ... + anxn, where each ai is a constant integer and x is a variable. An integer root of an integer polynomial is an integer value of x for which the expression equals zero.

You will be given the coefficients of an integer polynomial, and must return all the integer roots in increasing order. Roots must appear only once in the output (see example 1 for clarification).

Since the degree may be quite large, the coefficients are presented indirectly. Use the following pseudo-code to generate the coefficients a[0] to a[n]:

lX = length(X)
lY = length(Y)
for i = 0, 1, ..., n:
  p = i mod lX
  q = (i + Y[i mod lY]) mod lX
  a[i] = X[p]
  X[p] = X[q]
  X[q] = a[i]

The array indices are all 0-based and a mod b is the remainder when a is divided by b.

Definition

Class:
SolvePolynomial
Method:
integerRoots
Parameters:
int[], int[], int
Returns:
int[]
Method signature:
int[] integerRoots(int[] X, int[] Y, int n)
(be sure your method is public)

Notes

  • The intended solution is independent of the method of generation, and will work for any integer polynomial.

Constraints

  • n will be between 0 and 10,000, inclusive.
  • X will contain between 1 and 50 elements, inclusive.
  • Y will contain between 1 and 50 elements, inclusive.
  • Each element of X will be between -109 and 109, inclusive.
  • Each element of Y will be between 0 and 50, inclusive.
  • At least one element of a will be non-zero.

Examples

  1. {-4, 2, 2}

    {0}

    2

    Returns: {-2, 1 }

    -4 + 2x + 2x2 = 2(x - 1)(x + 2).

  2. {1, 2, 0}

    {2, 0, 0, 0}

    3

    Returns: {-1 }

    1 + 2x + x^2 + 0x^3 = (x + 1)(x + 1). Note that an may be zero and that roots must appear only once in the output.

  3. {1, 4, 4}

    {0}

    2

    Returns: { }

  4. {-15, -10, 2, 1}

    {0}

    3

    Returns: {3 }

  5. {735134400, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944}

    {34,23,6,5,3,5,4,34,37,5,6,21,17,9}

    10000

    Returns: { }

  6. {1}

    {0}

    0

    Returns: { }

  7. {-1000000000}

    {50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}

    0

    Returns: { }

  8. {1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1000000000, 0, 1, 1}

    {0, 1, 2, 3, 4}

    0

    Returns: { }

  9. {10, 1, 5}

    {2}

    1

    Returns: {-10 }

  10. {10, 1, 5}

    {1}

    1

    Returns: {-1 }

  11. {1000000000, 999999999}

    {0}

    1

    Returns: { }

  12. {1000000000, 999900000}

    {0}

    1

    Returns: { }

  13. {-1000000000, 480000, 1}

    {0}

    2

    Returns: { }

  14. {154, -58, 4}

    {0}

    2

    Returns: {11 }

  15. {-35, 11, 6}

    {0}

    2

    Returns: { }

  16. {-4, 8, 4}

    {0}

    2

    Returns: { }

  17. {5, 2, 1}

    {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, 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}

    2

    Returns: { }

  18. {500, 50, 5}

    {0}

    2

    Returns: { }

  19. {500, 50, 5, 0}

    {0, 0, 0, 1}

    5

    Returns: { }

  20. {-16, 20, -8, 1, 0, 0, 0, 0, 0}

    {0}

    8

    Returns: {2, 4 }

  21. {1, 25, 300, 2300, 12650, 53130, 177100, 480700, 1081575, 2042975, 3268760, 4457400, 5200300, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    {25, 23, 21, 19, 17, 15, 13, 11, 9, 7, 5, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    25

    Returns: {-1 }

  22. {1, 0, -24, 0, 276, 0, -2024, 0, 10626, 0, -42504, 0, 134596, 0, -346104, 0, 735471, 0, -1307504, 0, 1961256, 0, -2496144, 0, 2704156, 0, -2496144, 0, 1961256, 0, -1307504, 0, 735471, 0, -346104, 0, 134596, 0, -42504, 0, 10626, 0, -2024, 0, 276, 0, -24, 0, 1}

    {0}

    48

    Returns: {-1, 1 }

  23. {0, -203212800, -25401600, 307216512, 38402064, -122333120, -15291640, 19803784, 2475473, -1532960, -191620, 59696, 7462, -1120, -140, 8, 1}

    {0}

    16

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

  24. {735134400, 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, 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, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    2451

    Returns: {-1 }

  25. {-1225, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    {0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    2451

    Returns: {-1, 1 }

  26. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}

    {0, 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, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}

    2401

    Returns: {0 }

  27. {735134400, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}

    {0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}

    1201

    Returns: { }

  28. {-1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}

    {0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0}

    1201

    Returns: {1 }

  29. {536870912,536870912,536870912,536870912,536870912,536870912,536870912,536870912}

    {0}

    7

    Returns: {-1 }

  30. {536870912,-536870912}

    {0}

    7

    Returns: {1 }

  31. {170}

    {0}

    0

    Returns: { }

  32. {255, 0, 5}

    {0}

    2

    Returns: { }

  33. {238, 119, 0, 3}

    {0}

    3

    Returns: { }

  34. {68, 170, 0, 0, 2}

    {0}

    4

    Returns: { }

  35. {102, 0, 102, 51, 0, 1}

    {0}

    5

    Returns: { }

  36. {153, 51, 153, 272, 0, 11}

    {0}

    5

    Returns: { }

  37. {85, 17, 119, 204, 0, 0, 7}

    {0}

    6

    Returns: { }

  38. {272, 204, 34, 85, 119, 34, 0, 4}

    {0}

    7

    Returns: { }

  39. {119, 170, 170, 0, 85, 119, 119, 0, 2}

    {0}

    8

    Returns: { }

  40. {0, 0, 15}

    {0}

    2

    Returns: {0 }

  41. {0, 221, 85, 0, 13}

    {0}

    4

    Returns: {0 }

  42. {0, 153, 170, 221, 255, 255, 119, 0, 10}

    {0}

    8

    Returns: {0 }

  43. {0, 17, 0, 136, 34, 68, 85, 255, 0, 102, 272, 153, 119, 153, 119, 0, 6}

    {0}

    16

    Returns: {0 }

  44. {136, 0, 7}

    {0}

    2

    Returns: { }

  45. {136, 102, 187, 0, 6}

    {0}

    4

    Returns: { }

  46. {136, 68, 85, 255, 119, 272, 51, 0, 5}

    {0}

    8

    Returns: { }

  47. {136, 0, 0, 68, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}

    {0}

    16

    Returns: { }

  48. {153, 0, 7}

    {0}

    2

    Returns: { }

  49. {153, 102, 187, 0, 6}

    {0}

    4

    Returns: { }

  50. {153, 68, 85, 255, 119, 272, 51, 0, 5}

    {0}

    8

    Returns: { }

  51. {153, 0, 0, 68, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}

    {0}

    16

    Returns: { }

  52. {17, 0, 15}

    {0}

    2

    Returns: { }

  53. {17, 221, 85, 0, 13}

    {0}

    4

    Returns: { }

  54. {17, 153, 170, 221, 255, 255, 119, 0, 10}

    {0}

    8

    Returns: { }

  55. {238, 170, 170, 0, 85, 119, 119, 0, 2}

    {0}

    8

    Returns: { }

  56. {34, 221, 85, 0, 13}

    {0}

    4

    Returns: { }

  57. {136, 68, 85, 255, 119, 272, 51, 0, 5}

    {0}

    8

    Returns: { }

  58. {17, 272, 272, 51, 17, 34, 187, 119, 0, 51, 136, 221, 51, 221, 51, 0, 3}

    {0}

    16

    Returns: { }

  59. {170, 238, 272, 119, 34, 68, 85, 255, 0, 102, 272, 153, 119, 153, 119, 0, 6}

    {0}

    16

    Returns: { }

  60. {10, 1}

    {0}

    1

    Returns: {-10 }

  61. {57777, 1}

    {0}

    1

    Returns: {-57777 }

  62. {-56, -19, 40, 44, 54, 20, -13, 57, 15, 38, 80, 55, -72, -85, -84, 24, -85, 72, 11, -87, 38, -86, 23, 40, -65}

    {12, 34, 12, 8, 5, 11, 4, 16, 22, 48, 38, 44, 15, 45, 49, 9, 41}

    12

    Returns: { }

  63. {81, 78, 68, 16, -7, 80, 26, 34, 93, 53, -24, 22, -77, -85, 17, 24, 12, 71, 15, 17, -16, 57, 27, 69, -74, -100, 46, -27, 76, 49}

    {11, 46, 42, 28, 25, 25, 16, 45, 48, 38, 40, 43, 41, 6, 5, 21, 16, 47, 4, 49, 33, 32, 11, 20}

    6

    Returns: { }

  64. {18, -40, -97, 59, -2, -3, -8, -93, 78, 0, 74, 84, 63, 66, 90, -35, -97, -73, -83, -48, -66, 49, -24, -80, 26, 77, 39, 4, -81, 55, 3, 96, -73, 18, -60, 3, -97, -66, 49, -67, -97, 86, -73, -18, 90, -65, -50, -27}

    {9, 45, 10, 12, 16, 21, 47, 27, 31, 2, 30, 22, 39, 34, 4, 4, 43, 50, 5, 30, 37, 30, 44, 3, 27, 5, 5, 38}

    9

    Returns: { }

  65. {16, 1, -11}

    {11}

    5

    Returns: {-16 }

  66. {81, 1}

    {6, 38, 50}

    15

    Returns: {-81 }

  67. {-1000000000,1}

    {0}

    1

    Returns: {1000000000 }

  68. {1000000000,1}

    {0}

    1

    Returns: {-1000000000 }

  69. {999950884,-63244,1}

    {0}

    2

    Returns: {31622 }

  70. {999950884,999887640,-63243,1}

    {0}

    3

    Returns: {-1, 31622 }

  71. {-999950884,63244,999950883,-63244,1}

    {0}

    4

    Returns: {-1, 1, 31622 }

  72. {999887641,63242,1}

    {0}

    2

    Returns: {-31621 }

  73. {-999887641,999824399,63241,1}

    {0}

    3

    Returns: {-31621, 1 }

  74. {-999887641,-63242,999887640,63242,1}

    {0}

    4

    Returns: {-31621, -1, 1 }

  75. {-9,1,9,-1,-6,-9,-5,5,-7,9,2,-4,8,-4,4,8,7,7,-3,8,-9,-9,3,-9,3,-1,-4,-8,-10,2,2,7,3}

    {19,21,2}

    1395

    Returns: {-1 }

  76. {0,5,1,-10,5,-1,0,5,2,6,5,0,3,-10,-9,7,-9,7,-7,0,5}

    {16,10,48,1,7,30,28,24,50,19,45,2,6,16,44,5,38,30,26,23,27,3,35,1,20,18,27,37,33,37,39,19,39,38,13,38,23,11,40}

    51

    Returns: {0 }

  77. {-72,-8}

    {36,18,12,30,30}

    49

    Returns: {-9 }

  78. {-7,-3,7,6,0,-5,-3,2,-7}

    {1,21}

    5055

    Returns: {-1, 1 }

  79. {2,2,-2,2,-3,-6,-2,-7,10,1,-2,5}

    {19,27,35,20,10,45,48,2,29}

    164

    Returns: {1 }

  80. {2,-3}

    {30,15,2,12,26,45,13,47,26,13,3,15,50,20,10,44,45,15,48,23,13,7,0}

    3

    Returns: {-1, 2 }

  81. {0,-97,-89,61,57,15,-98,-23,16,57,-40,94,17,-10,-60,5,-96,-30,17,79,43,-80,-78,70,-93,2,85,-1,49,-65,-4,-19,35,-98,53,-81,-36,64,80,-39,-79,-8}

    {16,41,0,14,38,48,23,4,20,4,13,41,27,46,19,47,23,2,24,44,40,23,21,21,0,44,23,36,44}

    52

    Returns: {0, 1 }

  82. {0,-10,-8,-10,10,-5,-8,-7,-6,-7,7,1,-9,4,2,2,7,-1,-8,4,-10,-4,-9,10,3,8,3,0,4,-7,6,-2,-3,-7,7,-8,-4,-5,10,8}

    {50,27,48,14,12,26,13,37,34,23,44,27,19,36,32,33,32,18,25,37,14,42,3}

    92

    Returns: {-1, 0 }

  83. {84,-7}

    {32,2}

    5699

    Returns: {12 }

  84. {-8,4}

    {44}

    2199

    Returns: {2 }

  85. {0, -6, -5, 2, 1 }

    {0 }

    4

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

  86. {180000180, -38999859, -25000064, 2999978, 1000004, 1 }

    {0 }

    5

    Returns: {-1000001, -5, -4, 3 }

  87. {65536, -1, 0, 0, 1 }

    {0 }

    4

    Returns: { }

  88. {800000000, 80000, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }

    {4 }

    2

    Returns: {-20000 }

  89. {-977771176, -347146353, 52983272, -457767504, 358724203, -145336800, -923833776, -731436520, -320551246, -164767161, -566563875, 948705044, 753131334, -968286563, 211081101, -363904642, -251591409, 425699526, -993049659, 324406505, -691835130, -953794468, 456283349, -895742566, 904651322, -552860319, -412175286, 333817910, 254716748, -639774321, -341491833, 129461925, 13079327, 711491440, 671694421, -775680118, -581329008, 747860645, -507116638, 98119746, -564390163, -73680513, -100658858, -958742477, -41967076, -889577757, -322647119, 706441515, 388638121, -463180426 }

    {3, 45, 30, 1, 16, 22, 39, 30, 40, 48, 11, 6, 35, 38, 41, 8, 41, 22, 1, 49, 8, 19, 8, 11, 21, 24, 0, 23, 26, 49, 23, 3, 17, 2, 5, 7, 49, 44, 38, 38, 15, 49, 44, 0, 10, 9, 33, 25, 31, 34 }

    10000

    Returns: { }

  90. {0, 0, -1000000000, 1 }

    {0 }

    3

    Returns: {0, 1000000000 }

  91. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65536, 131072 }

    {0 }

    49

    Returns: {0 }

  92. {0, 10, 5 }

    {0 }

    2

    Returns: {-2, 0 }

  93. {0, 0, 4, -2, -2, 0 }

    {0 }

    5

    Returns: {-2, 0, 1 }

  94. {0, 1 }

    {0, 0 }

    1

    Returns: {0 }

  95. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048576, 1048576 }

    {0 }

    100

    Returns: {-1, 0 }

  96. {-201838042, 791798930, -361594123, 893475066, -321127951, 897556480, 615983779, 41461893, 287916127, -374882104, -165244471, 737880103, 894531394, -70971712, 494867109, 378306033, 170925420, -850966667, -835924195, -749166642, 558304148, 187073122, 88169908, -749119426, 277984823, -571761889, 767967947, -432314903, -212695002, 789689766, 504915505, -5308650, 36292909, 851386371, 58237918, -515847788, -573123791, -298908283, 335994991, 252908304, 683852114, 101176229, -704032315, 835656771, 32588609, 8893861, -659426004, 577846057, 401724475, -363362728 }

    {38, 44, 21, 44, 13, 40, 17, 9, 15, 6, 3, 26, 6, 37, 28, 46, 17, 1, 46, 25, 23, 11, 20, 22, 14, 11, 22, 31, 30, 6, 2, 4, 29, 3, 5, 43, 2, 31, 32, 36, 44, 0, 2, 27, 28, 15, 21, 19, 17, 29 }

    10000

    Returns: { }

  97. {-901800900, 0, 1 }

    {0 }

    2

    Returns: {-30030, 30030 }

  98. {0, 1000000000, 1, 0, 0 }

    {0 }

    4

    Returns: {-1000000000, 0 }

  99. {0, 1, 1 }

    {0 }

    2

    Returns: {-1, 0 }

  100. {0, 4, 4, 1 }

    {0 }

    3

    Returns: {-2, 0 }

  101. {0, -1, 1 }

    {0 }

    2

    Returns: {0, 1 }

  102. {1000000000, 1 }

    {0 }

    10000

    Returns: { }

  103. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 1 }

    {0 }

    10000

    Returns: {-1, 0, 1 }

  104. {-9, 0, 1 }

    {0 }

    2

    Returns: {-3, 3 }

  105. {735134400 }

    {0 }

    10000

    Returns: { }

  106. {-1000000000 }

    {0, 0, 0 }

    1

    Returns: {-1 }

  107. {0, 0, 0, 479001600, 479001600 }

    {0, 1 }

    1000

    Returns: {-1, 0 }

  108. {735134400, 1 }

    {0 }

    1

    Returns: {-735134400 }

  109. {0, 2, 2 }

    {0 }

    2

    Returns: {-1, 0 }

  110. {0, 0, 0, 479001600, 479001600 }

    {0, 1 }

    10000

    Returns: {-1, 0 }

  111. {0, 1 }

    {0, 1 }

    2

    Returns: {-1, 0 }

  112. {-1000000000, 1 }

    {0 }

    1

    Returns: {1000000000 }

  113. {4005, 1, 0, 0 }

    {0 }

    3

    Returns: {-4005 }

  114. {239017, 0 }

    {0, 1 }

    1

    Returns: { }

  115. {8, -6, 1 }

    {0 }

    2

    Returns: {2, 4 }

  116. {0, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944 }

    {34, 23, 6, 5, 3, 5, 4, 34, 37, 5, 6, 21, 17, 9 }

    10000

    Returns: {0 }

  117. {0, 0, 81, -72, -18, 8, 1 }

    {0 }

    6

    Returns: {-9, -3, 0, 1, 3 }

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

    {0 }

    6

    Returns: {0 }

  119. {0, 1, 0 }

    {0 }

    2

    Returns: {0 }

  120. {0, 0, 100000, 1 }

    {0 }

    4

    Returns: {-100000, 0 }

  121. {0, 0, 0, 0, -4, 2, 2, 0, 0, 0, 0 }

    {0 }

    10

    Returns: {-2, 0, 1 }

  122. {0, 999999999, 1 }

    {0 }

    2

    Returns: {-999999999, 0 }

  123. {0, 1000000000 }

    {0, 1 }

    9999

    Returns: {-1, 0 }

  124. {-4, -2, 6 }

    {0 }

    2

    Returns: {1 }

  125. {0, 1, -1 }

    {0 }

    2

    Returns: {0, 1 }

  126. {0, 1, 2, 3, 4 }

    {0, 1, 2, 3, 4, 5, 10 }

    10000

    Returns: {0 }

  127. {999999999, 1000000000, 1 }

    {0 }

    2

    Returns: {-999999999, -1 }

  128. {28229, 2 }

    {0 }

    1

    Returns: { }

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

    {6, 4, 6, 7, 8, 5 }

    10000

    Returns: {0 }

  130. {0, 1, 1 }

    {0, 1, 2 }

    2

    Returns: {-1, 0 }

  131. {0, 100 }

    {0 }

    2

    Returns: {0 }

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

    {0 }

    5

    Returns: {-1, 0 }

  133. {0, 999999999, -1000000000, 1 }

    {0 }

    3

    Returns: {0, 1, 999999999 }

  134. {0, 1, -1 }

    {1, 0, 0 }

    10000

    Returns: {0 }

  135. {-4, 1, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4, 1 }

    {0 }

    50

    Returns: { }

  136. {0, -100, 1 }

    {0 }

    2

    Returns: {0, 100 }

  137. {0, 65536, 65535 }

    {0 }

    1

    Returns: {0 }

  138. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1000000, 1 }

    {0 }

    70

    Returns: {-1000000, 0 }

  139. {0, 0, 4, -4, 1 }

    {0 }

    4

    Returns: {0, 2 }

  140. {0, 1, 1 }

    {0, 0, 0 }

    2

    Returns: {-1, 0 }

  141. {0, 0, 0, -900000000, 0, 1 }

    {0 }

    6

    Returns: {-30000, 0, 30000 }

  142. {0, 0, 0, 0, 16, 10, 1 }

    {0 }

    6

    Returns: {-8, -2, 0 }

  143. {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, 0, 0, 0, 0, 0, 0, 0, 1 }

    {0 }

    32

    Returns: {0 }

  144. {100000, 1 }

    {0 }

    1

    Returns: {-100000 }

  145. {0, -2, 1 }

    {0 }

    2

    Returns: {0, 2 }

  146. {0, -4, 2, 2 }

    {0 }

    3

    Returns: {-2, 0, 1 }

  147. {0, 1, 2, 3 }

    {1, 2 }

    10000

    Returns: {0 }

  148. {0, 12, 1 }

    {0 }

    2

    Returns: {-12, 0 }

  149. {735134400, 1383, 4121, 18875, 10463, 13512, 19603, 28679, 13483, 9509, 1701, 13383, 24425, 7923, 7978, 21702, 30989, 20676, 18547, 28130, 10944, 12312312 }

    {34, 23, 6, 5, 3, 5, 4, 34, 37, 5, 6, 21, 17, 9, 12, 12 }

    9999

    Returns: { }

  150. {1000000, -1 }

    {0 }

    1

    Returns: {1000000 }

  151. {1000000, 1 }

    {0, 0 }

    1

    Returns: {-1000000 }

  152. {-3600, 0, 1 }

    {0 }

    2

    Returns: {-60, 60 }

  153. {999999937, 4444, 1 }

    {0 }

    2

    Returns: { }

  154. {1 }

    {0 }

    0

    Returns: { }

  155. {0, 0, 100000000, 1 }

    {0 }

    4

    Returns: {-100000000, 0 }

  156. {0, 12, 1 }

    {0 }

    2999

    Returns: {-12, -1, 0 }

  157. {0, 0, 1 }

    {0 }

    3

    Returns: {0 }

  158. {0, -38999859, -25000064, 2999978, 1000004, 1 }

    {0 }

    5

    Returns: {0 }

  159. {536870912, 7 }

    {0 }

    1

    Returns: { }

  160. {-2, -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, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1 }

    {0 }

    39

    Returns: {2 }

  161. {999999999, 1 }

    {0 }

    1

    Returns: {-999999999 }

  162. {1000000000, 1 }

    {0 }

    1

    Returns: {-1000000000 }

  163. {256, -1, 0, 0, 0, 0, 0, 0, 1 }

    {0 }

    8

    Returns: { }

  164. {12, -8, 1 }

    {0 }

    2

    Returns: {2, 6 }

  165. {30011, 1 }

    {0, 0 }

    1

    Returns: {-30011 }

  166. {6, 5, 1 }

    {0 }

    2

    Returns: {-3, -2 }

  167. {1, -3, 2 }

    {0 }

    2

    Returns: {1 }

  168. {4001, 1, 0, 0, 0, 0, 0, 0 }

    {0 }

    5

    Returns: {-4001 }

  169. {1000000000, 2 }

    {0 }

    1

    Returns: {-500000000 }

  170. {0, 200, 1 }

    {0 }

    2

    Returns: {-200, 0 }

  171. {0, 1, 2, 1 }

    {0 }

    3

    Returns: {-1, 0 }

  172. {-1, -1, 2, 2 }

    {0 }

    3

    Returns: {-1 }

  173. {0, 0, 0, 0, 0, -4, 2, 2 }

    {8 }

    8

    Returns: {-2, 0, 1 }

  174. {-4, 2, 2 }

    {0 }

    10000

    Returns: { }

  175. {0, 2, 1 }

    {0 }

    2

    Returns: {-2, 0 }

  176. {0, 1, 1 }

    {0 }

    3

    Returns: {-1, 0 }

  177. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1048576, 1048576 }

    {0 }

    35

    Returns: {-1, 0 }

  178. {16, -2 }

    {0 }

    1

    Returns: {8 }

  179. {-4, 2, 2 }

    {0 }

    2

    Returns: {-2, 1 }

  180. {0, 1 }

    {0 }

    1

    Returns: {0 }

  181. {0, -6, -1, 1 }

    {0 }

    3

    Returns: {-2, 0, 3 }

  182. {0, 0, 0, 0, 0, 0, 0, 0, 65536 }

    {0 }

    9

    Returns: {0 }

  183. {0, -6, 1, 1 }

    {0 }

    3

    Returns: {-3, 0, 2 }

  184. {0, 1, 4, 4 }

    {0 }

    2

    Returns: {0 }

  185. {0, -268435456, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }

    {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    20

    Returns: {0 }

  186. {0, 1 }

    {0 }

    101

    Returns: {0 }

  187. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 999999937, 1 }

    {0 }

    14

    Returns: {-999999937, 0 }

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

    {3, 4, 5, 6, 7, 8, 9, 10 }

    1

    Returns: {0 }

  189. {1000000000, 7 }

    {0 }

    1

    Returns: { }

  190. {271000, 450000, 500000, 1000 }

    {0 }

    3

    Returns: { }

  191. {1, 0 }

    {0 }

    1

    Returns: { }

  192. {0, 0, 0, 0, 1000000000, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    {0 }

    15

    Returns: {-1000000000, 0 }

  193. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 }

    {0 }

    16

    Returns: {0 }

  194. {0, -1, 4, 4 }

    {0 }

    2

    Returns: {0 }

  195. {10000, 200, 1 }

    {0 }

    2

    Returns: {-100 }

  196. {26, -15, 1 }

    {0 }

    2

    Returns: {2, 13 }

  197. {9, 3, 7, 7 }

    {2, 2 }

    1

    Returns: {-3 }

  198. {0, 2, 1 }

    {0, 0, 0 }

    2

    Returns: {-2, 0 }

  199. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1000000000, 1 }

    {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, 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 }

    49

    Returns: {0, 1000000000 }

  200. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 256 }

    {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, 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 }

    49

    Returns: {0 }

  201. {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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4 }

    {0 }

    40

    Returns: {0 }

  202. {65536, 65535, 65535, 65535 }

    {0, 1, 2, 3 }

    3

    Returns: { }

  203. {-65536, 1, 0, 65536 }

    {0 }

    3

    Returns: { }

  204. {-2, 1, 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, 0, 0, 0, 0, 0, 1 }

    {0 }

    32

    Returns: {1 }

  205. {3, 0 }

    {0 }

    1

    Returns: { }

  206. {0, 1, 1 }

    {0, 0 }

    2

    Returns: {-1, 0 }

  207. {-1000000000, 1, -1000000000, 1 }

    {0 }

    3

    Returns: {1000000000 }

  208. {6, 696904438 }

    {0 }

    1

    Returns: { }

  209. {0, 8, 1 }

    {0, 0, 0 }

    2

    Returns: {-8, 0 }

  210. {536870912 }

    {0 }

    7

    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: