全RE,求大佬修改
查看原帖
全RE,求大佬修改
749743
e4fsrc2e4fsrc2楼主2022/8/7 20:55

代码如下

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,a[100];
bool vis[100];
bool dfs(int s,int dep,int l)
{
	if(dep==n)return s==l;
	if(s==l)l=0;
	for(int i=50; i>=1; i--)
	{
        if((vis[i]==true)||i>s-l)continue;
        else
		{
			vis[i]=true;
			dfs(s,dep+1,l+i);
			vis[i]=false;
		}
    }
}
signed main()
{
    int sum=0,minx=1;
    cin>>n;
    for(int i=1; i<=n; i++)
    {
        cin>>a[i];
        sum+=a[i];
        if(minx<a[i])minx=a[i];
    }
    for(int i=minx; i<=sum; i++)
    	if(sum%i==0)if(dfs(i,0,0)){cout<<i;return 0;}
}
2022/8/7 20:55
加载中...