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
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
{100}
Returns: "NO"
If there's only one candidate, that candidate will receive 100% of the votes in a fair election.
{34, 34, 34}
Returns: "YES"
Even accounting for rounding, these numbers are too high.
{12, 12, 12, 12, 12, 12, 12, 12}
Returns: "YES"
These numbers are too low.
{13, 13, 13, 13, 13, 13, 13, 13}
Returns: "NO"
Each candidate could have received exactly 1250 votes.
{0, 1, 100}
Returns: "NO"
The only valid possibility is that the candidates received 0, 50, and 9950 votes, respectively.
{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8}
Returns: "NO"
{0, 0, 0, 0, 0, 0, 0, 34, 34, 34}
Returns: "YES"
{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"
{51, 51}
Returns: "YES"
{28, 38, 33}
Returns: "NO"
{40, 0, 33, 28}
Returns: "NO"
{30, 26, 21, 25, 0}
Returns: "NO"
{30, 0, 24, 0, 29, 19}
Returns: "NO"
{34, 33, 29, 0, 0, 0, 0}
Returns: "YES"
{22, 20, 0, 0, 14, 20, 21, 0}
Returns: "NO"
{23, 0, 17, 17, 24, 0, 21, 0, 0}
Returns: "NO"
{0, 11, 16, 13, 14, 11, 0, 15, 13, 12}
Returns: "YES"
{0, 20, 12, 0, 0, 16, 0, 0, 13, 18, 15}
Returns: "YES"
{14, 0, 9, 0, 0, 14, 10, 17, 6, 13, 9, 12}
Returns: "NO"
{0, 17, 0, 0, 0, 0, 28, 22, 0, 0, 0, 17, 18}
Returns: "NO"
{12, 0, 17, 0, 0, 13, 0, 0, 17, 17, 15, 0, 0, 13}
Returns: "YES"
{6, 6, 0, 7, 8, 13, 12, 10, 5, 6, 7, 7, 8, 7, 6}
Returns: "YES"
{6, 4, 0, 0, 7, 9, 4, 8, 9, 7, 4, 9, 5, 4, 7, 9}
Returns: "YES"
{0, 21, 0, 0, 24, 0, 26, 0, 0, 0, 0, 0, 0, 20, 0, 0, 0}
Returns: "YES"
{8, 0, 9, 12, 0, 4, 8, 0, 0, 12, 13, 0, 0, 8, 0, 0, 10, 8}
Returns: "NO"
{0, 0, 7, 11, 13, 0, 0, 0, 0, 0, 15, 0, 0, 10, 13, 16, 14, 5, 0}
Returns: "NO"
{2, 0, 7, 5, 8, 8, 9, 7, 8, 0, 7, 8, 0, 0, 6, 0, 9, 5, 2, 0}
Returns: "NO"
{5, 0, 3, 7, 6, 9, 4, 6, 7, 0, 4, 5, 6, 6, 8, 5, 2, 4, 10, 6, 7}
Returns: "YES"
{0, 4, 3, 7, 3, 6, 0, 4, 2, 4, 5, 3, 8, 5, 6, 4, 4, 5, 6, 5, 5, 0}
Returns: "YES"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{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"
{0, 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"
{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"
{0}
Returns: "YES"
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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"
{97, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Returns: "YES"
{0, 1, 1, 100 }
Returns: "YES"
{0, 0, 0, 1, 1, 100 }
Returns: "YES"
{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8 }
Returns: "NO"
{0, 0, 0, 0, 0, 52, 50 }
Returns: "YES"
{0, 0, 0, 0, 1, 1, 100 }
Returns: "YES"
{0, 0, 0, 51, 51 }
Returns: "YES"
{50, 50, 50 }
Returns: "YES"
{51, 49 }
Returns: "NO"
{93 }
Returns: "YES"
{98, 2, 1, 0 }
Returns: "NO"
{27, 70 }
Returns: "YES"
{0, 1 }
Returns: "YES"
{0, 0, 99 }
Returns: "NO"
{0, 0, 0, 0, 0, 52, 50, 0, 0 }
Returns: "YES"
{13, 13, 13, 13, 13, 13, 13, 13 }
Returns: "NO"
{100, 0 }
Returns: "NO"
{0, 0, 0, 0, 0, 51, 51, 0, 0, 0, 0 }
Returns: "YES"
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95 }
Returns: "NO"
{30, 30, 30 }
Returns: "YES"
{12, 12, 12, 12, 12, 12, 12, 12 }
Returns: "YES"
{100, 2, 0, 0, 0, 0 }
Returns: "YES"
{0, 1, 99, 100, 0, 0, 100, 100, 59, 41, 51, 49, 0, 100, 0, 100 }
Returns: "YES"
{33, 33, 35 }
Returns: "NO"
{0, 0, 0, 99 }
Returns: "NO"
{100, 1, 1, 0, 0, 0, 0 }
Returns: "YES"
{1, 1, 97 }
Returns: "NO"
{0, 0, 0 }
Returns: "YES"
{3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 7, 2, 3, 10 }
Returns: "NO"
{10, 10 }
Returns: "YES"
{20, 20, 20, 20, 19 }
Returns: "NO"
{20, 20, 7, 10, 10, 10 }
Returns: "YES"
{0, 0, 0, 0, 0, 0, 0, 2, 100 }
Returns: "YES"
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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"
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 0 }
Returns: "NO"
{100 }
Returns: "NO"
{49, 50 }
Returns: "YES"
{0, 0, 0, 0, 100, 1, 1 }
Returns: "YES"
{1, 4, 1, 5, 9, 2, 6, 5, 3, 5, 8, 9, 7, 9, 3, 2, 3, 8 }
Returns: "YES"
{0, 0, 0, 0 }
Returns: "YES"
{1, 99 }
Returns: "NO"
{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"
{0, 0, 0, 98 }
Returns: "YES"
{100, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Returns: "YES"
{0, 0, 1, 1, 100 }
Returns: "YES"
{0, 34, 34, 34 }
Returns: "YES"
{50, 50 }
Returns: "NO"
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 70 }
Returns: "NO"
{33, 33, 33 }
Returns: "NO"
{34, 34, 33 }
Returns: "NO"
{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"
{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"
{0, 100, 3, 0, 0, 0 }
Returns: "YES"
{50, 52, 0, 0 }
Returns: "YES"
{1, 1, 99 }
Returns: "NO"
{100, 100, 100 }
Returns: "YES"