题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
import java.util.Scanner
fun main(args: Array<String>) {
val read = Scanner(System.`in`)
val res = read.nextLine().toInt()
val ws = read.nextLine().split(' ').filter {
it.isNotBlank()
}.map {
it.toInt()
}
val nums = read.nextLine().split(' ').filter {
it.isNotBlank()
}.map {
it.toInt()
}
var counts = mutableSetOf(0)
ws.forEachIndexed { index, w ->
for ( i in 0 until nums[index]) {
val copy = mutableSetOf<Int>()
counts.forEach {
copy.add(it)
copy.add(it + w)
}
counts = copy
}
}
println(counts.size)
}

