#include <iostream> #include <vector> using namespace std; int main() { int n; cin >> n; vector<int> weights(n,0); vector<int> counts(n,0); for (int i = 0 ; i < n ;i ++) { cin >> weights[i]; } for (int i = 0 ; i < n ;i ++) { cin >> counts[i]; } int cnt = 1; int maxsum = 200000; vector<bool> dp(maxsum+1,false); dp[0] = true; for (int i = 0 ; i < weights.size(); i++) { for (int j = 0 ; j < counts[i]; j++) { for (int w = maxsum; w >= 0; w--) { if (dp[w] == true) { continue; } else if (w >= weights[i] && dp[w - weights[i]]) { cnt++; dp[w] = true; } } } } cout << cnt; } // 64 位输出请用 printf("%lld")