Como não ficou explicito no enunciado da questão que a entrada seria "hard coded", fiz uma versão onde o input é só a sequencia de números direto no terminal, assim vcs podem testar com várias entradas facilmente no terminal e ver a resposta rapidamente, basta usar algo como:
dotnet run program.cs 5 42 8 11 23 1 14 30 19 27 36 2 50 7 18 9
dotnet run program.cs 5 8 11 23 42 1 14 30 7 27 36 2 50 19 18 9
dotnet run program.cs 7 5 8 11 23 1 14 19 30 27 36 42 2 50 18 9
Segue minha implementação:
int[] combination = new int[3];
Dictionary<int, int> inputNumbers = new Dictionary<int, int>();
for (int i = 0; i < args.Length; i++)
{
int num = int.Parse(args[i]);
inputNumbers.Add(i, num);
}
combination[0] = inputNumbers.FirstOrDefault(x => x.Value == 19).Key;
combination[1] = inputNumbers.FirstOrDefault(x => x.Value == 42).Key;
combination[2] = inputNumbers.FirstOrDefault(x => x.Value == 7).Key;
Console.WriteLine($"Combination: {combination[0]}, {combination[1]}, {combination[2]}");