不知道为什么b数组最后全变成1了
查看原帖
不知道为什么b数组最后全变成1了
1235074
2004li楼主2024/5/8 10:55
#include<bits/stdc++.h>
using namespace std;
int a[110]={0},b[100100];
int main()
{
	b[0]=1;
	int n,s1=0;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i];
	}
	int io=0;
	for(int i=2;i<=n;i++)
	{
		a[i]=__gcd(a[i],a[i-1]);
		if(a[i]==1){
			io=1;
			break;
		}
	}
	if(io==0){
		printf("INF");
		return 0;
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j+a[i]<100100;j++)
		{
			if(b[j]==1)
			{
				b[j+a[i]]=1;
			}
		}
	}
	int sum=0;
	for(int i=1;i<100100;i++)
	{
		if(b[i]==0){
			sum++;
		}
	}
	cout<<sum;
	return 0;
}
2024/5/8 10:55
加载中...