結果

問題 No.4 おもりと天秤
ユーザー ねず
提出日時 2018-01-28 11:05:11
言語 PHP
(843.2)
結果
AC  
実行時間 98 ms / 5,000 ms
コード長 507 bytes
コンパイル時間 222 ms
コンパイル使用メモリ 32,144 KB
実行使用メモリ 60,984 KB
最終ジャッジ日時 2024-06-26 10:26:39
合計ジャッジ時間 2,440 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 23
権限があれば一括ダウンロードができます
コンパイルメッセージ
No syntax errors detected in Main.php

ソースコード

diff #

<?php
$n = trim(fgets(STDIN));
$weights = explode(" ", trim(fgets(STDIN)));
$sum = array_sum($weights);
$dp = array_fill(0, $n, array_fill(0, $sum + 1, false));
$dp[0][$weights[0]] = true;
for ($i = 1; $i < $n; $i++) {
	$w = $weights[$i];
	for ($j = 0; $j <= $sum; $j++) {
		if (!$dp[$i - 1][$j]) continue;
		if ($j + $w <= $sum) $dp[$i][$j + $w] = true;
		if ($j - $w >= 0)    $dp[$i][$j - $w] = true;
		if ($w - $j >= 0)    $dp[$i][$w - $j] = true;
	}
}
echo $dp[$n - 1][0] ? "possible" : "impossible";
?>
0