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
while(await readline()) {
let m = (await readline()).split(' ').map(Number)
let x = (await readline()).split(' ').map(Number)
let res = new Set([0])
for (let i=0; i<m.length; i++) {
for (let j=0; j<x[i]; j++) {
let tmp = [...res]
tmp.forEach(el => {
let w = el + m[i]
res.add(w)
})
}
}
console.log(res.size)
}
}()
思路是,初始化一个Set,元素是0,然后每碰到一个数就对当前Set的每个元素加这个新碰到的数,Set可以自动去重

京公网安备 11010502036488号