結果
問題 |
No.275 中央値を求めよ
|
ユーザー |
![]() |
提出日時 | 2024-10-12 23:59:41 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 37 ms / 1,000 ms |
コード長 | 1,498 bytes |
コンパイル時間 | 1,016 ms |
コンパイル使用メモリ | 108,032 KB |
実行使用メモリ | 25,516 KB |
最終ジャッジ日時 | 2024-10-12 23:59:58 |
合計ジャッジ時間 | 3,672 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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 = "InputX"; 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]); } } }