Alguem me ajudaaaah

Gente tenho duvida no seguinte enunciado do meu curso estou na prova final… tem como alguém me ajudar com o programa??? (uso c#)
O melhor aluno da classe.

A média de um aluno dentro de uma classe é feita da seguinte forma; somando três notas e as dividindo por 3, depois, multiplica-se esse valor por 0.9 e soma-se 1. A nota de cada matéria pode valer até 10. Caso o somatório das três notas for maior que 8, não será somado o 1. Ao final, quem de 5 alunos será o melhor aluno da classe? E organizar as notas dos 5 anos, da maior nota até a menor nota.

Na tela deverá aparecer algo do tipo;

A maior nota foi 7, aluno João

A ordem das notas são

1: João 7
2: Pedro 6
3: Maria 5
4: Lucas 2
5: Rosa 1

O que você já fez ?

vou te mandar meu programa pra você analisar…

        int N = int.Parse(Console.ReadLine());
        double Media;

        string[] nomes = new String[N];
        double[] nota1 = new double[N];
        double[] nota2 = new double[N];
        double[] nota3 = new double[N];
        


        for (int i = 0; i < N; i++)
        {
            string[] valores = Console.ReadLine().Split(' ');
            nomes[i] = valores[0];
            nota1[i] = double.Parse(valores[1], CultureInfo.InvariantCulture);
            nota2[i] = double.Parse(valores[2], CultureInfo.InvariantCulture);
            nota3[i] = double.Parse(valores[3], CultureInfo.InvariantCulture);


        }
        for (int i = 0; i < N; i++)
        {
            double notafinal = (nota1[i] + nota2[i] + nota3[i]) / 3.0 * 0.9;
            if (notafinal <= 8.0 + 1.0)  
                    if (notafinal < 10.0)
                
                    
            Console.WriteLine(notafinal.ToString("F1", CultureInfo.InvariantCulture));
            Console.WriteLine("Notas:");

        Console.Write(nomes[i] + " " + notafinal);
        }
        Console.ReadLine();
    }
}

o problema é colocar em ordem decrescente