P2347 [NOIP1996 提高组] 砝码称重 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
bitset
用来存储二进制
cpp
#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define int long long
const int N = 2e5+10;
int w[] = {0,1,2,3,5,10,20};
signed main()
{
std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
bitset<1050>f;
f[0]=1;
for(int i=1;i<=6;i++)
{
int cnt;cin>>cnt;
for(int j=1;j<=cnt;j++)
{
f|=f<<w[i];//1 001->010
}
}
cout<<"Total="<<f.count()-1;
return 0;
}