40,求调,急急急,8错了,128 257 514 642 输出3,调了半天
查看原帖
40,求调,急急急,8错了,128 257 514 642 输出3,调了半天
948336
2206GZ楼主2023/11/13 18:23
#include<bits/stdc++.h>
using namespace std;
int t,n,a[105],f[50005],m;
int main()
{
	cin>>t;
	while(t--)
	{
		memset(a,0,sizeof(a));
		memset(f,0,sizeof(f));
		cin>>n;
		int k=n;
		for(int i=1;i<=n;i++)
		cin>>a[i];
		sort(a+1,a+1+n);
		for(int i=1;i<=n;i++)
		f[a[i]]=1;
		for(int i=1;i<n;i++)
		{
			if(a[i])
			{
				for(int j=a[1];j<=a[n];j++)
				if(f[j]) 
				f[a[i]+j]++;
				for(int j=i+1;j<=n;j++)
				if(f[a[j]]>1)
				{
					k--;
					a[j]=0;
				}
				
			}
		}
		//cout<<"答案是:"<<++m<<" "; 
		cout<<k<<endl;
		//cout<<endl;
	}
}
2023/11/13 18:23
加载中...