using System; using System.Collections.Generic; using System.Linq; class Program { static string InputPattern = "Input3"; static List GetInputList() { var WillReturn = new List(); if (InputPattern == "Input1") { WillReturn.Add("5"); WillReturn.Add("3"); WillReturn.Add("555"); WillReturn.Add("20"); WillReturn.Add("432"); WillReturn.Add("301"); WillReturn.Add("21"); //535 //例えば {{555},{21,20},{433,301}} のようにグループ分けすると //平均は {555/1,(21+20)/2,(432+301)/2}={555,20.5,366.5} なので //最大の平均 - 最小の平均は 555 − 20.5 = 534.5 //最後に小数点以下を切り上げて535 } else if (InputPattern == "Input2") { WillReturn.Add("8"); WillReturn.Add("4"); WillReturn.Add("329"); WillReturn.Add("980"); WillReturn.Add("656"); WillReturn.Add("738"); WillReturn.Add("739"); WillReturn.Add("542"); WillReturn.Add("873"); WillReturn.Add("501"); //651 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List InputList = GetInputList(); int[] NArr = InputList.Skip(2).Select(X => int.Parse(X)).ToArray(); int MaxAvg = NArr.Max(); int MinAvg = NArr.Min(); Console.WriteLine(MaxAvg - MinAvg); } }