結果
| 問題 | No.5 数字のブロック |
| コンテスト | |
| ユーザー |
velfare_nagata
|
| 提出日時 | 2016-10-03 21:14:47 |
| 言語 | C#(csc) (csc 3.9.0) |
| 結果 |
AC
|
| 実行時間 | 37 ms / 5,000 ms |
| コード長 | 1,718 bytes |
| コンパイル時間 | 974 ms |
| コンパイル使用メモリ | 108,884 KB |
| 実行使用メモリ | 26,972 KB |
| 最終ジャッジ日時 | 2024-11-18 09:42:28 |
| 合計ジャッジ時間 | 3,091 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 |
コンパイルメッセージ
Microsoft (R) Visual C# Compiler version 3.9.0-6.21124.20 (db94f4cc) Copyright (C) Microsoft Corporation. All rights reserved.
ソースコード
using System;
using System.Diagnostics;
namespace CodeIq
{
internal class Program
{
///<summary>
///Ellenは数字のブロックで遊ぼうとしている。
///
///数字が書かれているブロックはそれぞれ高さ1で幅はWi である。
///それらのブロックを高さ1,幅Lの大きな箱の中に入れる。
///
///Ellenは大きな箱にどれだけブロックがたくさん入るか気になったが。
///組み合わせがたくさんあって大変なことに気づいて、すぐに夜になってしまいそうである。
///
///あなたは、代わりに大きな箱に最大何個のブロックが入るかを求めてください。
/// </summary>
private static void Main()
{
// パラメータ取得
var line1 = Console.ReadLine();
if( string.IsNullOrEmpty( line1 ) )
return;
var line2 = Console.ReadLine();
if( string.IsNullOrEmpty( line2 ) )
return;
var line3 = Console.ReadLine();
if( string.IsNullOrEmpty( line3 ) )
return;
var l = int.Parse( line1 );
var boxesData = line3.Split( ' ' );
var boxes = new int[boxesData.Length];
// 箱を小さい順にソートした上で計算する
// ※箱を順に入れていき、入らなくなった時点でもうそれ以上入らない
for( var i = 0; i < boxesData.Length; i++ )
boxes[i] = int.Parse( boxesData[i] );
Array.Sort( boxes );
var inputCount = 0;
var inputLength = 0;
for( inputCount = 0; inputCount < boxesData.Length; inputCount ++ )
{
inputLength += boxes[inputCount];
if( inputLength > l )
break;
}
Debug.Print( inputCount.ToString() );
Console.WriteLine( inputCount );
}
}
}
velfare_nagata