結果

問題 No.156 キャンディー・ボックス
ユーザー aya
提出日時 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

ソースコード

diff #

<?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;
?>
0