HJ41 称砝码
题目
代码
#include <iostream>
#include <vector>
#include <set>
#include <algorithm>
using namespace std;
int main(){
int n;
cin>>n;
vector<int> weight(n);
vector<int> nums(n);
for(int i = 0; i < n; i++){
cin>>weight[i];
}
for(int j = 0; j < n; j++){
cin>>nums[j];
}
set<int> s;
s.insert(0);
for(int i = 0; i < n; i++){
for(int j = 1; j <= nums[i]; j++){
set<int> temp(s);
for(auto iter = temp.begin(); iter != temp.end(); iter++){
s.insert(*iter + weight[i]);
}
}
}
cout<<s.size();
return 0;
}