public static void Main()
Console.WriteLine("Hello World");
new {k=3, scores = new[]{100, 50, 25, 50}, expected = 3},
new {k=2, scores = new[]{100, 50, 25, 50}, expected = 3},
new {k=4, scores = new[]{100, 50, 25, 50}, expected = 4},
foreach(var sample in samples){
Console.WriteLine($"for scores [{string.Join(",", sample.scores)}] k={sample.k} ranks is {NumPlayers(sample.k, sample.scores)}");
public static int NumPlayers(int k, int[] scores)
.OrderByDescending(s => s)
for(int i = 0; i < sorted.Length && rank <= k; i++)
if(i < 1 || (sorted[i] != sorted[i-1]))