包子凑数

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

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;
}
相关推荐
Stack Overflow?Tan9029 分钟前
c++实现在同一台主机两个程序实现实时通信
开发语言·c++
@@永恒1 小时前
map&set
c++
小鹏编程2 小时前
【C++教程】C++中的基本数据类型
开发语言·c++·教程·少儿编程
熊峰峰2 小时前
C++第十节:map和set的介绍与使用
开发语言·c++
Antonio9152 小时前
【网络编程】事件选择模型
网络·c++
程序员Linc2 小时前
用OpenCV写个视频播放器可还行?(C++版)
c++·opencv·音视频·opencv 4.11
决斗小饼干3 小时前
并发编程知识总结
c++
Andlin3 小时前
《CMakeList 知识系统学习系列(三):函数和宏》
c++
Forget the Dream4 小时前
设计模式之迭代器模式
java·c++·设计模式·迭代器模式
️Carrie️4 小时前
10.2 继承与多态
c++·多态·继承