結果
| 問題 |
No.4 おもりと天秤
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-08-18 12:55:40 |
| 言語 | JavaScript (node v23.5.0) |
| 結果 |
AC
|
| 実行時間 | 84 ms / 5,000 ms |
| コード長 | 684 bytes |
| コンパイル時間 | 53 ms |
| コンパイル使用メモリ | 6,692 KB |
| 実行使用メモリ | 45,312 KB |
| 最終ジャッジ日時 | 2024-10-13 01:23:14 |
| 合計ジャッジ時間 | 2,292 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
function Main(input) {
const data = input.trim().split("\n")
let N = parseInt(data[0])
let weights = data[1].split(" ").map(w => parseInt(w))
let sum = 0
weights.forEach(w => sum += w)
const halfOfSum = sum / 2
if (N === 1) {
console.log('impossible')
return
}
// weights.sort((a, b) => a - b)
let set = new Set([weights[0]])
for (let i = 1; i < N; i++) {
let array = []
set.forEach(w => array.push(w + weights[i]))
array.forEach(v => { if (v <= halfOfSum) set.add(v) })
set.add(weights[i])
}
const result = set.has(halfOfSum) ? 'possible' : 'impossible'
console.log(result)
}
Main(require("fs").readFileSync("/dev/stdin", "utf8"))