题解 | #称砝码#
称砝码
https://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c
import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n=in.nextInt(); int[] m=new int[n]; int[] cnt=new int[n]; HashSet<Integer> set=new HashSet<>(); set.add(0); for(int i=0;i<n;i++)m[i]=in.nextInt(); for(int i=0;i<n;i++)cnt[i]=in.nextInt(); ArrayList<Integer> list=new ArrayList<>(); for(int i=0;i<n;i++){ list= new ArrayList<>(set); for(int j=0;j<=cnt[i];j++){ for(int w=0;w<list.size();w++){ set.add(list.get(w)+m[i]*j); } } } System.out.println(set.size()); } }