Statistics

Problem Statement for "ElectionFraudDiv2"

Problem Statement

In a normal election, one expects the percentages received by each of the candidates to sum to exactly 100 percent. There are two ways this might not be the case: if the election is fraudulent, or if the reported percentages are rounded.

In a recent election, the number of voters was known to be exactly 10000. Assuming the election was run fairly, each voter voted for exactly one candidate. The percentage of the vote received by each candidate was rounded to the nearest whole number before being reported. Percentages lying halfway between two consecutive whole numbers were rounded up.

The ministry of voting is looking for a proof of election fraud. You'll be given a int[] percentages, giving the reported percentage of the vote that went to each candidate. Return a String containing "YES" if the election is definitely fraudulent, otherwise return "NO" (quotes for clarity only). That is, return "YES" if it could not be the case that each of the 10000 voters voted for exactly one candidate, and "NO" otherwise.

Definition

Class:
ElectionFraudDiv2
Method:
IsFraudulent
Parameters:
int[]
Returns:
String
Method signature:
String IsFraudulent(int[] percentages)
(be sure your method is public)

Constraints

  • percentages will contain between 1 and 50 elements, inclusive.
  • Each element of percentages will be between 0 and 100, inclusive.

Examples

  1. {100}

    Returns: "NO"

    If there's only one candidate, that candidate will receive 100% of the votes in a fair election.

  2. {34, 34, 34}

    Returns: "YES"

    Even accounting for rounding, these numbers are too high.

  3. {12, 12, 12, 12, 12, 12, 12, 12}

    Returns: "YES"

    These numbers are too low.

  4. {13, 13, 13, 13, 13, 13, 13, 13}

    Returns: "NO"

    Each candidate could have received exactly 1250 votes.

  5. {0, 1, 100}

    Returns: "NO"

    The only valid possibility is that the candidates received 0, 50, and 9950 votes, respectively.

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

    Returns: "NO"

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

    Returns: "YES"

  8. {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}

    Returns: "YES"

  9. {51, 51}

    Returns: "YES"

  10. {28, 38, 33}

    Returns: "NO"

  11. {40, 0, 33, 28}

    Returns: "NO"

  12. {30, 26, 21, 25, 0}

    Returns: "NO"

  13. {30, 0, 24, 0, 29, 19}

    Returns: "NO"

  14. {34, 33, 29, 0, 0, 0, 0}

    Returns: "YES"

  15. {22, 20, 0, 0, 14, 20, 21, 0}

    Returns: "NO"

  16. {23, 0, 17, 17, 24, 0, 21, 0, 0}

    Returns: "NO"

  17. {0, 11, 16, 13, 14, 11, 0, 15, 13, 12}

    Returns: "YES"

  18. {0, 20, 12, 0, 0, 16, 0, 0, 13, 18, 15}

    Returns: "YES"

  19. {14, 0, 9, 0, 0, 14, 10, 17, 6, 13, 9, 12}

    Returns: "NO"

  20. {0, 17, 0, 0, 0, 0, 28, 22, 0, 0, 0, 17, 18}

    Returns: "NO"

  21. {12, 0, 17, 0, 0, 13, 0, 0, 17, 17, 15, 0, 0, 13}

    Returns: "YES"

  22. {6, 6, 0, 7, 8, 13, 12, 10, 5, 6, 7, 7, 8, 7, 6}

    Returns: "YES"

  23. {6, 4, 0, 0, 7, 9, 4, 8, 9, 7, 4, 9, 5, 4, 7, 9}

    Returns: "YES"

  24. {0, 21, 0, 0, 24, 0, 26, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0}

    Returns: "YES"

  25. {8, 0, 9, 12, 0, 4, 8, 0, 0, 12, 13, 0, 0, 8, 0, 0, 10, 8}

    Returns: "NO"

  26. {0, 0, 7, 11, 13, 0, 0, 0, 0, 0, 15, 0, 0, 10, 13, 16, 14, 5, 0}

    Returns: "NO"

  27. {2, 0, 7, 5, 8, 8, 9, 7, 8, 0, 7, 8, 0, 0, 6, 0, 9, 5, 2, 0}

    Returns: "NO"

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

    Returns: "YES"

  29. {0, 4, 3, 7, 3, 6, 0, 4, 2, 4, 5, 3, 8, 5, 6, 4, 4, 5, 6, 5, 5, 0}

    Returns: "YES"

  30. {2, 0, 7, 8, 2, 7, 6, 5, 11, 0, 3, 0, 4, 3, 4, 0, 2, 0, 6, 0, 4, 8, 7}

    Returns: "NO"

  31. {0, 0, 2, 0, 8, 0, 6, 10, 13, 0, 6, 11, 3, 0, 0, 5, 0, 5, 0, 8, 5, 0, 7, 0}

    Returns: "NO"

  32. {0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 25, 0, 0, 0, 0}

    Returns: "NO"

  33. {0, 0, 4, 4, 6, 0, 6, 4, 6, 8, 4, 14, 5, 6, 0, 2, 3, 6, 0, 5, 6, 0, 4, 6, 6, 5}

    Returns: "NO"

  34. {0, 0, 14, 0, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 18, 0, 0, 0, 0, 0, 13, 8, 0}

    Returns: "NO"

  35. {5, 3, 6, 5, 4, 4, 4, 4, 2, 4, 4, 6, 2, 5, 4, 4, 6, 6, 3, 8, 3, 3, 4, 4, 3, 5, 0, 3}

    Returns: "YES"

  36. {4, 1, 1, 3, 6, 1, 6, 3, 3, 3, 3, 5, 3, 3, 3, 4, 5, 8, 5, 5, 2, 6, 6, 2, 8, 4, 4, 3, 4}

    Returns: "NO"

  37. {0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 8, 0, 17, 11, 0, 14, 0, 10, 0, 0, 0, 0, 0, 11, 0, 0, 0, 12, 0, 10}

    Returns: "YES"

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

    Returns: "YES"

  39. {2, 0, 4, 2, 2, 4, 5, 4, 5, 2, 4, 2, 3, 2, 4, 2, 5, 3, 3, 3, 0, 2, 4, 4, 2, 0, 3, 1, 0, 6, 0, 2}

    Returns: "NO"

  40. {0, 0, 0, 0, 0, 7, 6, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 11, 0, 0, 9, 0, 6, 0, 0, 8, 10, 0, 0, 0, 9, 9}

    Returns: "YES"

  41. {2, 2, 0, 2, 3, 4, 2, 0, 3, 6, 4, 5, 3, 0, 3, 2, 6, 3, 4, 0, 3, 1, 0, 5, 1, 3, 0, 3, 2, 4, 4, 3, 0, 0}

    Returns: "YES"

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

    Returns: "NO"

  43. {6, 0, 6, 7, 0, 0, 4, 7, 4, 0, 0, 7, 0, 4, 0, 0, 7, 3, 0, 0, 0, 0, 6, 0, 0, 5, 0, 0, 0, 2, 3, 0, 0, 0, 7, 5}

    Returns: "NO"

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

    Returns: "NO"

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

    Returns: "NO"

  46. {6, 0, 3, 2, 5, 4, 6, 2, 0, 0, 0, 3, 2, 3, 1, 0, 3, 2, 0, 4, 0, 0, 2, 0, 0, 2, 3, 0, 2, 3, 5, 1, 4, 0, 4, 5, 0, 3, 0}

    Returns: "YES"

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

    Returns: "YES"

  48. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 0, 0, 0, 0, 0, 11, 25, 0, 0, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 0, 0, 0}

    Returns: "NO"

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

    Returns: "NO"

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

    Returns: "YES"

  51. {0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 9, 0, 0, 10, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 6, 10, 0, 10, 8, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0}

    Returns: "YES"

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

    Returns: "NO"

  53. {0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 26, 0, 0, 0, 0, 15, 0, 0, 0, 17}

    Returns: "YES"

  54. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 16, 15, 0, 0, 0, 0, 0, 8, 0, 0}

    Returns: "NO"

  55. {0, 11, 0, 0, 0, 0, 0, 16, 0, 0, 0, 13, 7, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 9, 0, 0, 6, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 8, 0, 0}

    Returns: "YES"

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

    Returns: "NO"

  57. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 0}

    Returns: "NO"

  58. {100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100}

    Returns: "YES"

  59. {0}

    Returns: "YES"

  60. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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: "YES"

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

    Returns: "YES"

  62. {0, 1, 1, 100 }

    Returns: "YES"

  63. {0, 0, 0, 1, 1, 100 }

    Returns: "YES"

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

    Returns: "NO"

  65. {0, 0, 0, 0, 0, 52, 50 }

    Returns: "YES"

  66. {0, 0, 0, 0, 1, 1, 100 }

    Returns: "YES"

  67. {0, 0, 0, 51, 51 }

    Returns: "YES"

  68. {50, 50, 50 }

    Returns: "YES"

  69. {51, 49 }

    Returns: "NO"

  70. {93 }

    Returns: "YES"

  71. {98, 2, 1, 0 }

    Returns: "NO"

  72. {27, 70 }

    Returns: "YES"

  73. {0, 1 }

    Returns: "YES"

  74. {0, 0, 99 }

    Returns: "NO"

  75. {0, 0, 0, 0, 0, 52, 50, 0, 0 }

    Returns: "YES"

  76. {13, 13, 13, 13, 13, 13, 13, 13 }

    Returns: "NO"

  77. {100, 0 }

    Returns: "NO"

  78. {0, 0, 0, 0, 0, 51, 51, 0, 0, 0, 0 }

    Returns: "YES"

  79. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95 }

    Returns: "NO"

  80. {30, 30, 30 }

    Returns: "YES"

  81. {12, 12, 12, 12, 12, 12, 12, 12 }

    Returns: "YES"

  82. {100, 2, 0, 0, 0, 0 }

    Returns: "YES"

  83. {0, 1, 99, 100, 0, 0, 100, 100, 59, 41, 51, 49, 0, 100, 0, 100 }

    Returns: "YES"

  84. {33, 33, 35 }

    Returns: "NO"

  85. {0, 0, 0, 99 }

    Returns: "NO"

  86. {100, 1, 1, 0, 0, 0, 0 }

    Returns: "YES"

  87. {1, 1, 97 }

    Returns: "NO"

  88. {0, 0, 0 }

    Returns: "YES"

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

    Returns: "NO"

  90. {10, 10 }

    Returns: "YES"

  91. {20, 20, 20, 20, 19 }

    Returns: "NO"

  92. {20, 20, 7, 10, 10, 10 }

    Returns: "YES"

  93. {0, 0, 0, 0, 0, 0, 0, 2, 100 }

    Returns: "YES"

  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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 25 }

    Returns: "YES"

  95. {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0 }

    Returns: "NO"

  96. {100 }

    Returns: "NO"

  97. {49, 50 }

    Returns: "YES"

  98. {0, 0, 0, 0, 100, 1, 1 }

    Returns: "YES"

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

    Returns: "YES"

  100. {0, 0, 0, 0 }

    Returns: "YES"

  101. {1, 99 }

    Returns: "NO"

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

    Returns: "NO"

  103. {0, 0, 0, 98 }

    Returns: "YES"

  104. {100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

    Returns: "YES"

  105. {0, 0, 1, 1, 100 }

    Returns: "YES"

  106. {0, 34, 34, 34 }

    Returns: "YES"

  107. {50, 50 }

    Returns: "NO"

  108. {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 70 }

    Returns: "NO"

  109. {33, 33, 33 }

    Returns: "NO"

  110. {34, 34, 33 }

    Returns: "NO"

  111. {100, 2, 0, 0, 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: "YES"

  112. {52, 52, 0, 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: "YES"

  113. {0, 100, 3, 0, 0, 0 }

    Returns: "YES"

  114. {50, 52, 0, 0 }

    Returns: "YES"

  115. {1, 1, 99 }

    Returns: "NO"

  116. {100, 100, 100 }

    Returns: "YES"


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: