题解 | #称砝码#
称砝码
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 () { // 处理输入 let n = await readline() let weights = (await readline()).split(' ').map(v => Number(v)) let counts = (await readline()).split(' ').map(v => Number(v)) getTypeCount(weights, counts) }() function getTypeCount (weights, counts) { const set = new Set() set.add(0) for (let i = 0; i < weights.length; i++) { let arr = [...set] for (let j = 1; j <= counts[i]; j++) { arr.forEach(item => set.add(item + weights[i] * j)) } } console.log(set.size) }