题解 | #称砝码#
称砝码
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)
}
