题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void (async function () { // Write your code here let index = 0; let n; let weights = []; let nums = []; let arr = [0]; while ((line = await readline())) { if (index === 0) { n = parseInt(line); index++; } else if (index === 1) { weights = line.split(" ").map(Number); index++; } else { nums = line.split(" ").map(Number); } } for (let i = 0; i < n; i++) { for (let j = 1; j <= nums[i]; j++) { let temp = []; for (let a of arr) { temp.push(a + weights[i]); } arr.push(...temp); arr = [...new Set(arr)]; } } console.log(arr.length); })();