結果

問題 No.178 美しいWhitespace (1)
ユーザー Maeda
提出日時 2025-04-11 15:18:28
言語 C#
(.NET 8.0.404)
結果
MLE  
実行時間 -
コード長 1,828 bytes
コンパイル時間 8,775 ms
コンパイル使用メモリ 171,008 KB
実行使用メモリ 188,812 KB
最終ジャッジ日時 2025-04-11 15:18:40
合計ジャッジ時間 10,715 ms
ジャッジサーバーID
(参考情報)
judge1 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 20 MLE * 1
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.csproj を復元しました (119 ミリ秒)。
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

    class Program
    {
        static void Main(string[] args)
        {
            int n = int.Parse(Console.ReadLine());
            decimal[] size = new decimal[n];
            decimal[] code = Array.ConvertAll(Console.ReadLine().Split(' '), num => decimal.Parse(num));
            size[0] = code[0] + (code[1] * 4);
            decimal checkSize = size[0]%2; //0:奇数 1:偶数 -1:どちらでもない

            for (int i = 1; i < n; i++)
            {
                code = Array.ConvertAll(Console.ReadLine().Split(' '), num => decimal.Parse(num));
                if (checkSize != -1 && (code[0] + (code[1] * 4)) % 2 == checkSize)
                {
                    size[i] = code[0] + (code[1] * 4);
                }
                else
                {
                    checkSize = -1;
                }
            }
            if (checkSize == -1)
            {
                Console.WriteLine(-1);
            }
            else
            {
                Array.Sort(size);
                Array.Reverse(size);
                decimal minsize = ShortageCheck(size);
                minsize = minsize / 2;
                //if (minsize != -1)
                //{
                //    minsize = minsize / 2;
                //}
                Console.WriteLine(minsize);
            }
        }

        private static decimal ShortageCheck(decimal[] size)
        {
            decimal shortage = 0;
            for(int i = 1; i < size.Length; i++)
            {
                if ((size[0] - size[i])%2 == 0)
                {
                    shortage += size[0] - size[i];
                }
                //else
                //{
                //    shortage = -1;
                //    break;
                //}
            }
            return shortage;
        }
    }  
0