using System; using System.Collections.Generic; using System.Linq; class Program { static void Main(string[] args) { var count = Convert.ToInt32(Console.ReadLine()); var values = Console.ReadLine() .Split(" ", count) .Select(m => Convert.ToInt32(m)) .ToList(); Console.WriteLine(GetMedian(values)); } static decimal GetMedian(List numbers) { var sortedNumbers = numbers.OrderBy(m => m).ToList(); if (numbers.Count % 2 == 0) { // 偶数の場合は中央順位2個の算術平均 var medians = numbers.OrderBy(m => m).Skip(numbers.Count / 2 - 1).Take(2).ToList(); return Math.Round(((medians[0] + medians[1])) / 2m, 1, MidpointRounding.AwayFromZero); } else { // 奇数個の場合は中央順位のデータ return numbers.OrderBy(m => m).ToList()[(numbers.Count / 2)]; } } }