結果

問題 No.126 2基のエレベータ
ユーザー papinianus
提出日時 2017-02-01 11:53:29
言語 PHP
(843.2)
結果
WA  
実行時間 -
コード長 641 bytes
コンパイル時間 158 ms
コンパイル使用メモリ 30,608 KB
実行使用メモリ 31,076 KB
最終ジャッジ日時 2024-12-24 02:17:59
合計ジャッジ時間 2,478 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 19 WA * 8
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
list($a, $b, $s) = explode(" ", trim(fgets(STDIN)));

if(a_callable($a, $b, $s))
{
    echo cost($a, $s);
} else {
    $path1 = transit($b, $s, $a);
    $path2 = transit($b, $s, 1, $a);
    echo min($path1, $path2);
}
echo PHP_EOL;

function a_callable($a, $b, $s) {
    $patha = abs($s - $a);
    $pathb = abs($s - $b);
    if($patha <= $pathb) {
        return true;
    }
    return false;
}

function cost($a, $s) {
    return abs($s - $a) + $s;
}

function transit($a, $s, $p, $pick = 0) {
    if($pick) {$pick = abs($pick - $a);}
    return abs($s - $a) + cost($s, $p) + $pick;
    // return abs($s - $a) + abs($s - $p) + $p;
}

0