結果

問題 No.275 中央値を求めよ
ユーザー ccc
提出日時 2022-07-15 14:37:21
言語 C#
(.NET 8.0.404)
結果
AC  
実行時間 60 ms / 1,000 ms
コード長 955 bytes
コンパイル時間 13,981 ms
コンパイル使用メモリ 171,008 KB
実行使用メモリ 186,640 KB
最終ジャッジ日時 2024-06-27 09:04:47
合計ジャッジ時間 18,184 ms
ジャッジサーバーID
(参考情報)
judge1 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 38
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (97 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

using System;
class Program
{
    static void Main()
    {
        var cnt = Console.ReadLine();
        var lin = Console.ReadLine().Split().Select(int.Parse).ToArray();
        Array.Sort(lin);

        // 配列数に応じて偶数時・奇数時の処理
        if (lin.Length % 2 == 0)
            Even(lin);
        else
            Odd(lin);

        // 奇数の場合の処理
        int Odd(int[] arg)
        {
            var charg = arg[arg.Length / 2];
            double ans = Math.Ceiling((double)charg);
            Console.WriteLine(ans);
            return 1;
        }
        // 偶数の場合の処理
        int Even(int[] arg)
        {
            // double型で中央値に近似する左右のインデックスを取得し計算
            var charg = (double)(arg[arg.Length / 2] + arg[(arg.Length / 2) - 1] ) / 2;
            var ans = charg;
            Console.WriteLine(ans);
            return 1;
        }
    }
}
0