Statistics

Problem Statement for "DivisibleSetDiv1"

Problem Statement

You are given a int[] b containing a sequence of n positive integers: b[0], ..., b[n-1]. We are now looking for another sequence a = {a[0], ..., a[n-1]}. This sequence should have the following properties:
  • The elements of the sequence a should be distinct.
  • Each a[i] should be an integer greater than 1.
  • For each i, the value a[i]^b[i] (that is, a[i] to the power b[i]) should be divisible by p[i], where p[i] is the product of all other elements of a. (I.e. p[i] = a[0]*a[1]*...*a[i-1]*a[i+1]*...*a[n-1].)
Determine whether there is at least one sequence with the desired properties. Return "Possible" (quotes for clarity) if such a sequence exists and "Impossible" otherwise.

Definition

Class:
DivisibleSetDiv1
Method:
isPossible
Parameters:
int[]
Returns:
String
Method signature:
String isPossible(int[] b)
(be sure your method is public)

Constraints

  • b will contain between 2 and 50 elements, inclusive.
  • Each element in b will be between 1 and 10, inclusive.

Examples

  1. {2,1}

    Returns: "Possible"

    Here, we have the following requirements: The values a[0] and a[1] should be distinct positive integers, both greater than 1. The value a[0]^2 should be divisible by a[1]. The value a[1]^1 should be divisible by a[0]. One sequence with the above properties is the sequence a = {2, 4}.

  2. {1,1}

    Returns: "Impossible"

    In this test case the requirements imply that a[0] must be divisible by a[1] and vice versa. This is possible only if a[0] = a[1]. However, the elements of a must be distinct, so there is no valid sequence.

  3. {7, 7, 7}

    Returns: "Possible"

    For example, a = {12, 54, 18}.

  4. {6,7,5,2}

    Returns: "Possible"

  5. {1,7,10,7,8}

    Returns: "Possible"

  6. {3,3,6,10}

    Returns: "Possible"

  7. {1,4,3}

    Returns: "Possible"

  8. {4,10,3,7,2}

    Returns: "Possible"

  9. {8,1,2}

    Returns: "Possible"

  10. {3,1,3}

    Returns: "Impossible"

  11. {5,8,2,10,8,7}

    Returns: "Possible"

  12. {6,8,5,9,5,4,8}

    Returns: "Possible"

  13. {9,10,10,8,7,9,8,10,8}

    Returns: "Possible"

  14. {4,1,3}

    Returns: "Possible"

  15. {5,3,8,7,9,8,7}

    Returns: "Possible"

  16. {2,7,3,8,7}

    Returns: "Possible"

  17. {2,4,7,10,3}

    Returns: "Possible"

  18. {6,7,2,10,9,4}

    Returns: "Possible"

  19. {5,9,8,4,7,9,5}

    Returns: "Possible"

  20. {7,1,8,8,9}

    Returns: "Possible"

  21. {7,1,3,10}

    Returns: "Possible"

  22. {7,10,9,1,5}

    Returns: "Possible"

  23. {7,7,1,4}

    Returns: "Possible"

  24. {9,7,10,9,2,3}

    Returns: "Possible"

  25. {5,1,10,7,9}

    Returns: "Possible"

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

    Returns: "Possible"

  27. {10,8,8,8,1}

    Returns: "Possible"

  28. {6,4,9,1}

    Returns: "Possible"

  29. {2,7,6,6,3}

    Returns: "Possible"

  30. {7,1,8,9,7}

    Returns: "Possible"

  31. {10,3,8,5,8,7,6}

    Returns: "Possible"

  32. {10,7,3,7,2}

    Returns: "Possible"

  33. {1,3,9,8}

    Returns: "Possible"

  34. {9,9,9,9,9,9,9,9,9,9}

    Returns: "Impossible"

  35. {10,10,10,10,10,10,10,10,10,10,10}

    Returns: "Impossible"

  36. {10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10}

    Returns: "Impossible"

  37. {6,6,6,6,6,6,6}

    Returns: "Impossible"

  38. {8,8}

    Returns: "Possible"

  39. {7,3,5,1}

    Returns: "Impossible"

  40. {9,9,9,3,6,9}

    Returns: "Possible"

  41. {4,9,6,6,9,2,6,10}

    Returns: "Impossible"

  42. {9,5,7,2,9,4,4,5,1,6}

    Returns: "Impossible"

  43. {10,4,2,4,4,2,5,10,6,4,1,9}

    Returns: "Impossible"

  44. {1,3,7,2,8,8,9,3,5,9,6,10,9,8}

    Returns: "Impossible"

  45. {6,8,3,6,10,6,7,9,8,4,1,2,10,1,10,10}

    Returns: "Impossible"

  46. {7,7,6,7,6,9,1,3,3,5,7,7,6,6,8,9,4,4}

    Returns: "Impossible"

  47. {5,2,6,10,2,1,1,8,5,4,6,9,7,10,7,2,10,5,6,8}

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

  50. {2,9,9,3,4,4,1,9,4,10,2,8,8,3,5,8,10,9,5,4,5,9,8,1,5,9}

    Returns: "Impossible"

  51. {2,2,2,8,7,3,3,1,6,8,4,1,9,1,7,4,4,7,9,7,1,1,7,7,6,10,4,4}

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

  54. {7,3,6,6,3,1,1,1,6,3,6,3,4,1,4,2,2,6,7,4,2,1,8,7,1,4,7,4,4,5,8,2,8,1}

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

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

    Returns: "Impossible"

  63. {4,4,4,4,9,9}

    Returns: "Impossible"

  64. {1,2,5}

    Returns: "Possible"

  65. {1,1}

    Returns: "Impossible"

  66. {1,2,5}

    Returns: "Possible"

  67. {1,3,3}

    Returns: "Impossible"

  68. {1,3,7,7}

    Returns: "Impossible"

  69. {1,4,4,9}

    Returns: "Impossible"

  70. {1,4,8,9,10}

    Returns: "Impossible"

  71. {1,4,9,9,9}

    Returns: "Impossible"

  72. {1,5,5,5}

    Returns: "Impossible"

  73. {1,5,6,9,10}

    Returns: "Impossible"

  74. {1,5,7,8,9}

    Returns: "Impossible"

  75. {1,5,8,8,8}

    Returns: "Impossible"

  76. {1,6,6,7,10}

    Returns: "Impossible"

  77. {1,6,6,8,9}

    Returns: "Possible"

  78. {1,7,7,7,7}

    Returns: "Impossible"

  79. {2,2,2}

    Returns: "Impossible"

  80. {2,2,5,5}

    Returns: "Impossible"

  81. {2,2,6,9,10}

    Returns: "Impossible"

  82. {2,2,7,8,9}

    Returns: "Impossible"

  83. {2,2,8,8,8}

    Returns: "Impossible"

  84. {2,3,3,5}

    Returns: "Impossible"

  85. {2,3,4,7,10}

    Returns: "Possible"

  86. {2,3,5,7,7}

    Returns: "Impossible"

  87. {2,4,4,5,9}

    Returns: "Impossible"

  88. {2,4,4,6,7}

    Returns: "Impossible"

  89. {2,5,5,5,5}

    Returns: "Impossible"

  90. {3,3,3,3}

    Returns: "Impossible"

  91. {3,3,3,7,7}

    Returns: "Impossible"

  92. {3,3,4,4,9}

    Returns: "Impossible"

  93. {3,3,5,5,5}

    Returns: "Impossible"

  94. {4,4,4,4,4}

    Returns: "Impossible"

  95. {5, 10, 7, 4, 10 }

    Returns: "Possible"

  96. {1, 2, 5 }

    Returns: "Possible"

  97. {10, 10, 10, 10, 10, 10 }

    Returns: "Possible"

  98. {2, 3, 3, 4 }

    Returns: "Impossible"

  99. {5, 4, 3, 2 }

    Returns: "Possible"

  100. {2, 3, 4, 5, 6 }

    Returns: "Impossible"

  101. {2, 2 }

    Returns: "Possible"

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

    Returns: "Impossible"

  103. {3, 3, 2, 1 }

    Returns: "Impossible"

  104. {1, 2, 3 }

    Returns: "Impossible"

  105. {2, 2, 2, 2 }

    Returns: "Impossible"

  106. {2, 3, 4 }

    Returns: "Possible"

  107. {1, 2, 4 }

    Returns: "Impossible"

  108. {2, 2, 2 }

    Returns: "Impossible"

  109. {2, 2, 2, 2, 2, 2, 2, 2, 2 }

    Returns: "Impossible"

  110. {7, 8, 9, 9, 9, 9, 10, 10, 10, 10 }

    Returns: "Possible"

  111. {2, 2, 2, 2, 2 }

    Returns: "Impossible"

  112. {1, 3, 4 }

    Returns: "Possible"

  113. {4, 4, 4 }

    Returns: "Possible"

  114. {2, 2, 3 }

    Returns: "Possible"

  115. {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }

    Returns: "Impossible"

  116. {4, 2, 1 }

    Returns: "Impossible"

  117. {5, 5, 5, 5 }

    Returns: "Possible"

  118. {1, 2, 6 }

    Returns: "Possible"

  119. {3, 3, 3 }

    Returns: "Possible"

  120. {2, 3, 2 }

    Returns: "Possible"

  121. {10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 }

    Returns: "Impossible"

  122. {3, 1, 3 }

    Returns: "Impossible"

  123. {3, 2, 1 }

    Returns: "Impossible"

  124. {1, 1, 10 }

    Returns: "Impossible"

  125. {2, 1, 3 }

    Returns: "Impossible"

  126. {1, 2, 2 }

    Returns: "Impossible"

  127. {2, 3, 4, 5, 6, 7, 8, 9, 10 }

    Returns: "Impossible"

  128. {3, 10, 10, 2, 8 }

    Returns: "Possible"

  129. {10, 10, 10, 10, 10 }

    Returns: "Possible"

  130. {10, 10 }

    Returns: "Possible"

  131. {6, 9, 9, 9, 9, 9, 10, 10, 10, 10 }

    Returns: "Impossible"

  132. {1, 10, 3, 10 }

    Returns: "Possible"

  133. {1, 4, 7 }

    Returns: "Possible"

  134. {7, 8, 10, 1 }

    Returns: "Possible"

  135. {1, 5, 8 }

    Returns: "Possible"

  136. {1, 3, 3 }

    Returns: "Impossible"

  137. {10, 10, 10, 10, 10, 10, 10, 10, 10 }

    Returns: "Possible"

  138. {7, 7, 7, 7 }

    Returns: "Possible"

  139. {2, 10, 10 }

    Returns: "Possible"

  140. {1, 2, 3, 4, 5, 6 }

    Returns: "Impossible"

  141. {10, 1, 1, 1 }

    Returns: "Impossible"

  142. {2, 10, 10, 10 }

    Returns: "Possible"

  143. {1, 1 }

    Returns: "Impossible"

  144. {3, 2, 2 }

    Returns: "Possible"

  145. {3, 4, 4, 5, 5 }

    Returns: "Possible"

  146. {2, 5, 5, 5 }

    Returns: "Possible"

  147. {9, 9, 9, 9, 9, 9, 4 }

    Returns: "Possible"

  148. {9, 9, 9, 9, 9, 9, 9, 9, 9 }

    Returns: "Possible"

  149. {4, 4, 3, 3 }

    Returns: "Possible"

  150. {6, 4, 1 }

    Returns: "Possible"

  151. {4, 2, 3 }

    Returns: "Possible"

  152. {9, 3, 3, 2 }

    Returns: "Possible"

  153. {6, 8, 9, 9, 10, 10, 10, 10, 10, 10 }

    Returns: "Possible"

  154. {5, 1, 2 }

    Returns: "Possible"

  155. {1, 3, 6, 9 }

    Returns: "Possible"

  156. {2, 2, 3, 3, 3 }

    Returns: "Impossible"

  157. {2, 2, 4, 7 }

    Returns: "Possible"

  158. {1, 10, 10, 10 }

    Returns: "Possible"

  159. {2, 2, 3, 4 }

    Returns: "Impossible"


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: