包子凑数

类似完全背包求方案数,再加上点数论知识,裴蜀定理。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int N=300000;
bool  f[N];
int a[120];
signed main()
{
	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int n,n0=0,n1=0; cin>>n;
	f[0]=1;
	int g;
	for(int i=1;i<=n;i++) cin>>a[i];
	g=a[1];
	for(int i=1;i<=n;i++)
	{
		g=__gcd(g,a[i]);
		for(int j=a[i];j<N;j++)
		f[j]|=f[j-a[i]];
	}
	int flag=0,cnt=0;
	for(int i=1;i<N;i++)
	if(!f[i]) 
	cnt++;
	if(g!=1){
		cout<<"INF";
		return 0;
	}
     cout<<cnt;
	return 0;
}
相关推荐
饭碗的彼岸one29 分钟前
重生之我在10天内卷赢C++ - DAY 1
linux·开发语言·c++·经验分享·笔记·学习方法
java叶新东老师44 分钟前
Makefile if语句用法
c++·makefile
Layflok1 小时前
《黑马笔记》 --- C++ 提高编程
开发语言·c++·stl
西红柿煎蛋2 小时前
C++_stdmutex和stdatomic
c++
西红柿煎蛋2 小时前
C++11 Lambda表达式的本质是什么?它的捕获列表 ([]) 是如何工作的?
c++
范特西_2 小时前
字典树/前缀树
c++·算法
源代码•宸3 小时前
深入浅出设计模式——创建型模式之单例模式 Singleton
开发语言·c++·经验分享·单例模式·设计模式
蒋星熠4 小时前
字母异位词分组(每天刷力扣hot100系列)
开发语言·c++·算法·leetcode·职场和发展
Darkwanderor4 小时前
哈希相关的模拟实现
数据结构·c++·算法·哈希算法
Murphy_lx5 小时前
C++多态的原理
java·开发语言·c++