結果

問題 No.5 数字のブロック
ユーザー しめはじめ
提出日時 2019-06-04 11:34:08
言語 PHP
(843.2)
結果
AC  
実行時間 50 ms / 5,000 ms
コード長 983 bytes
コンパイル時間 258 ms
コンパイル使用メモリ 30,960 KB
実行使用メモリ 31,504 KB
最終ジャッジ日時 2024-09-17 20:45:07
合計ジャッジ時間 2,326 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 34
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
function quick_sort( &$data, $first, $last ) {
    $pf = $first;
    $pl = $last;
    $value_mid  = $data[intVal(($pf + $pl) / 2)];

    do {
        while ( $data[$pf] < $value_mid ) {
            $pf++;
        }
        while ( $data[$pl] > $value_mid ) {
            $pl--;
        }

        if ( $pf <= $pl ) {
            list( $data[$pl], $data[$pf] ) = array( $data[$pf], $data[$pl] );
            $pf++;
            $pl--;
        }
    } while ($pf <= $pl);

    if ( $first < $pl ) {
        quick_sort($data, $first, $pl);
    }
    if ( $pf < $last ) {
        quick_sort( $data, $pf, $last );
    }
}


$box = trim( fgets( STDIN ) );
$num = trim( fgets( STDIN ) );
$data = explode( " ", trim( fgets( STDIN ) ) );
$fill = 0;
$idx = 0;
// 自前でクイックソート
quick_sort( $data, 0, count( $data ) - 1 );
  
foreach( $data as $w ){
    //あふれたら終わり
    if( ( $fill += $w ) > $box ){
        break;
    }
    $idx++;
}
printf( "%d\n", $idx );
0