import java.util.ArrayList; import java.util.HashSet; import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNextInt()){ //存放所有可能的结果,HashSet存放不重复的值。 HashSet<Integer> sum = new HashSet<>(); sum.add(0);//初始化为0 int n = sc.nextInt();//砝码的种类数 int[] w = new int[n];//存放砝码的具体重量 int[] nums = new int[n];//存放每个重量的砝码个数; for (int i = 0; i < n; i++) { w[i] = sc.nextInt(); } for (int i = 0; i < n; i++) { nums[i] = sc.nextInt(); } for (int i = 0; i < n; i++) {//法码的重量 //取当前所有结果,并每次更新 ArrayList<Integer> list= new ArrayList<>(sum); for (int j = 1; j <= nums[i]; j++) {//每次添加砝码的个数,从1开始。 for (int k = 0; k < list.size(); k++) {//已经计算过的重量和 ,加上新的砝码,可以得出的重量和 sum.add(list.get(k) + w[i] * j); } } } System.out.println(sum.size()); } } }