結果
問題 | No.275 中央値を求めよ |
ユーザー |
![]() |
提出日時 | 2015-09-13 19:00:47 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 36 ms / 1,000 ms |
コード長 | 1,497 bytes |
コンパイル時間 | 875 ms |
コンパイル使用メモリ | 110,784 KB |
実行使用メモリ | 20,224 KB |
最終ジャッジ日時 | 2024-06-24 23:16:48 |
合計ジャッジ時間 | 3,279 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 38 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System; using System.Collections.Generic; using System.Linq; class Program { static string InputPattern = "Input4"; static List<string> GetInputList() { var WillReturn = new List<string>(); if (InputPattern == "Input1") { WillReturn.Add("3"); WillReturn.Add("5 3 4"); //4 //この場合の中央値は4です。 //4.00のような出力でも良い。 } else if (InputPattern == "Input2") { WillReturn.Add("4"); WillReturn.Add("1 9 8 4"); //6 //この場合は(8+4)/2=6です。 } else if (InputPattern == "Input3") { WillReturn.Add("6"); WillReturn.Add("1 2 3 4 5 6"); //3.5 //この場合の答えは小数になります。 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List<string> InputList = GetInputList(); int[] AArr = InputList[1].Split(' ').Select(X => int.Parse(X)).ToArray(); Array.Sort(AArr); int wkLen=AArr.Length; if (wkLen % 2 == 0) { decimal Answer = AArr[wkLen / 2]; Answer += AArr[wkLen / 2-1]; Console.WriteLine(Answer / 2); } else { Console.WriteLine(AArr[wkLen / 2]); } } }