包子凑数

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

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;
}
相关推荐
愚润求学9 分钟前
【贪心算法】day7
c++·算法·leetcode·贪心算法
深耕AI22 分钟前
【MFC简介:从基础概念到实际应用】
c++·mfc
六点半88833 分钟前
【C++】C++11 篇二
开发语言·c++
DDDDDDDRDDR40 分钟前
C++容器:list
开发语言·c++·stl
一拳一个呆瓜43 分钟前
【MFC】对话框属性:Use System Font(使用系统字体)
c++·mfc
Elnaij1 小时前
从C++开始的编程生活(7)——取地址运算符重载、类型转换、static成员和友元
开发语言·c++
郝学胜-神的一滴1 小时前
Effective Modern C++ 条款26:避免在通用引用上重载
开发语言·c++·程序人生
草莓熊Lotso1 小时前
【C++】递归与迭代:两种编程范式的对比与实践
c语言·开发语言·c++·经验分享·笔记·其他
逐雨~3 小时前
9.8C++作业
开发语言·c++
利刃大大10 小时前
【高并发内存池】五、页缓存的设计
c++·缓存·项目·内存池