結果
| 問題 |
No.156 キャンディー・ボックス
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-07-30 16:19:51 |
| 言語 | PHP (843.2) |
| 結果 |
AC
|
| 実行時間 | 43 ms / 2,000 ms |
| コード長 | 1,136 bytes |
| コンパイル時間 | 2,381 ms |
| コンパイル使用メモリ | 31,380 KB |
| 実行使用メモリ | 32,276 KB |
| 最終ジャッジ日時 | 2024-07-05 16:28:02 |
| 合計ジャッジ時間 | 2,464 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 30 |
コンパイルメッセージ
No syntax errors detected in Main.php
ソースコード
<?php
/*
No.156 キャンディー・ボックス
問題文
キャンディーが入っている箱がN個ある。
i番目の箱にはCi個のキャンディーが入っている。
A君は、その時の最もキャンディーの少ない箱から1つキャンディーを取っていく。
これを合計M個のキャンディーを取り終えるまで繰り返す。
M個のキャンディーを取り出した時に、空になった箱の数はいくつか?
入力
N M
C1 C2 … CN
1≤N≤10
1≤M≤1000000
1≤Ci≤100000
Mは最初のキャンディーの総数以下の数字が与えられる。
出力
M個のキャンディーを取ったあとに空になった箱の数を1行で答えよ。
*/
$input=explode(" ",(trim(fgets(STDIN))));
$wantCandyNum=$input[1];
$CandyBoxies=explode(" ",(trim(fgets(STDIN))));
sort($CandyBoxies);
$ans;
foreach($CandyBoxies as $key =>$value){
if($value<$wantCandyNum){
$wantCandyNum-=$value;
}else if($value>$wantCandyNum){
$ans=$key;
break;
}else if($value==$wantCandyNum){
$ans=$key+1;
break;
}
}
if(is_null($ans)){
$ans=$input[0];
}
echo $ans;
?>