結果
| 問題 |
No.156 キャンディー・ボックス
|
| コンテスト | |
| ユーザー |
aketijyuuzou
|
| 提出日時 | 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;
}
}
}
}
aketijyuuzou