Метод выбора по возрастанию. С# задачи
Помогите найти ошибку пожалуйста! Сижу уже не первый день подставляю значения, вроде всегда правильно выводит, но сайт проверки заданий даёт лишь 57.60 из 100. Суть задачи посчитать количество смены мест у первого элемента при сортировке массива методом выбора(задача на фото).
class Program
{
static void Swap(ref int a, ref int b)
{
int temp = a;
a = b;
b = temp;
}
static int SelectionSort(int[] array, int n)
{
int count = 0;
int identify = array[0];
int identifyIndex = 0;
for (int i = 0; i < n - 1; i++)
{
int minIndex = i;
for (int j = i + 1; j < n; j++)
{
if (array[j] < array[minIndex])
{
minIndex = j;
}
}
if (i != minIndex)
{
Swap(ref array[i], ref array[minIndex]);
if (array[identifyIndex] != identify)
{
identify = array[minIndex];
identifyIndex = minIndex;
count++;
}
}
}
return count;
}
static void Main(string[] args)
{
int arrayLength = int.Parse(Console.ReadLine());
string str = Console.ReadLine();
string[] temp = str.Split(new Char[] { ' ' });
int[] array = new int[arrayLength];
for (int i = 0; i < arrayLength; i++)
{
array[i] = int.Parse(temp[i]);
}
Console.WriteLine(SelectionSort(array, arrayLength));
}
}
