Хакер Василь отримав доступ до класного журналу і хоче замінити усі свої мінімальні оцінки на максимальні. Напишіть програму, яка замінює оцінки Василя, але навпаки. :)
Вхідні дані
У єдиному рядку задано кількість оцінок Василя (не більше 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));
}
}