結果
問題 |
No.156 キャンディー・ボックス
|
ユーザー |
![]() |
提出日時 | 2024-10-10 22:57:51 |
言語 | C#(csc) (csc 3.9.0) |
結果 |
AC
|
実行時間 | 31 ms / 2,000 ms |
コード長 | 3,272 bytes |
コンパイル時間 | 1,392 ms |
コンパイル使用メモリ | 108,160 KB |
実行使用メモリ | 19,328 KB |
最終ジャッジ日時 | 2024-10-10 22:57:54 |
合計ジャッジ時間 | 3,565 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 30 |
コンパイルメッセージ
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 2"); WillReturn.Add("1 2 3"); //1 //キャンディーの箱が3つある。 //1つ目の箱にはキャンディーが1つ。 //2つめの箱にはキャンディーが2つ。 //3つめの箱にはキャンディーが3つ。 //A君はこれから合計2つのキャンディーを取る。 //A君はまず1つのキャンディーが入った箱からキャンディーを1つ取る。 //次に、キャンディーが2つ入った箱からキャンディーを1つ取る。 //1つ目の箱にはキャンディーが0つ。 //2つめの箱にはキャンディーが1つ。 //3つめの箱にはキャンディーが3つ。 //最後に残った空のキャンディーの箱の数は1個である。 } else if (InputPattern == "Input2") { WillReturn.Add("3 2"); WillReturn.Add("1 1 3"); //2 //キャンディーの箱が3つある。 //1つ目の箱にはキャンディーが1つ。 //2つめの箱にはキャンディーが1つ。 //3つめの箱にはキャンディーが3つ。 //A君はこれから合計2つのキャンディーを取る。 //A君はまず1つのキャンディーが入った箱からキャンディーを1つ取る。 //次に、もう1つのキャンディーが1つ入った箱からキャンディーを1つ取る。 //1つ目の箱にはキャンディーが0つ。 //2つめの箱にはキャンディーが0つ。 //3つめの箱にはキャンディーが3つ。 //最後に残った空のキャンディーの箱の数は2個である。 } else if (InputPattern == "Input3") { WillReturn.Add("4 10"); WillReturn.Add("3 2 4 1"); //4 //すべての箱が空になる } else if (InputPattern == "Input4") { WillReturn.Add("6 257109"); WillReturn.Add("53771 46578 31908 80435 62678 4327"); //5 } else { string wkStr; while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr); } return WillReturn; } static void Main() { List<string> InputList = GetInputList(); int M = InputList[0].Split(' ').Select(X => int.Parse(X)).Last(); int[] CArr = InputList[1].Split(' ').Select(X => int.Parse(X)).ToArray(); Array.Sort(CArr); int TatalCnt = 0; for (int I = 0; I <= CArr.GetUpperBound(0); I++) { TatalCnt += CArr[I]; if (TatalCnt > M) { Console.WriteLine(I); break; } else if (TatalCnt == M) { Console.WriteLine(I + 1); break; } } } }