Контроперація

Хакер Василь отримав доступ до класного журналу і хоче замінити усі свої мінімальні оцінки на максимальні. Напишіть програму, яка замінює оцінки Василя, але навпаки. :)

Вхідні дані

У єдиному рядку задано кількість оцінок Василя (не більше 100), а потім самі оцінки. Усі числа відокремлено пропусками.

Вихідні дані

Вивести виправлені оцінки у тому ж порядку, відокремлюючи сусідні оцінки одним пропуском.

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

  • Знаходимо, за допомогою LINQ запитів, мінімальний та максимальний елемент списку;
  • Оператором Select здійснюємо заміну.

Розв’язок

using System;
using System.Linq;

class Program
{
    static void Main(string[] args)
    {
        var p = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries), s => int.Parse(s)).ToList();
        var count = p[0];
        p = p.Skip(1).Take(count).ToList();
        var min = p.Min();
        var max = p.Max();
        var res = p.Select(x => x == max ? min : x);
        Console.WriteLine(string.Join(" ", res));
    }
}

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