Задача №8962 Крайній найбільший

Задано масив з n цілих чисел. Знайдіть найбільший елемент масиву, що зустрічається останнім та поміняйте його з крайнім елементом у масиві, не змінюючи порядок інших елементів.

Вхідні дані

Перший рядок містить натуральне число n. У наступному рядку записано n цілих чисел. Усі числа за модулем не перевищують 100.

Вихідні дані

Вивести елементи оновленого масиву.

Алгоритм розв’язку задачі

  • Для визначення максимального значення використовуємо оператор менше або рівно;
  • Запам’ятовуємо не тільки значення максимального, а і його індекс;
  • Проводимо обмін елементів масиву.

Розв’язок

using System;
class Program
{
    static void Main(string[] args)
    {
        var n = int.Parse(Console.ReadLine());
        var array = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries),
            s => long.Parse(s));

        var max = array[0];
        var maxIndex = 0;
        for (int i = 1; i < n; i++)
        {
            if (max <= array[i])
            {
                max = array[i];
                maxIndex = i;
            }
        }

        var temp = array[n - 1];
        array[n - 1] = array[maxIndex];
        array[maxIndex] = temp;

        Console.WriteLine(string.Join(" ", array));
    }
}

Дивіться також: