結果
問題 | 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
ソースコード
<?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"; ?>