码迷,mamicode.com
首页 > 其他好文 > 详细

luogu_1120 小木棍

时间:2017-10-06 17:32:43      阅读:93      评论:0      收藏:0      [点我收藏+]

标签:algorithm   str   logs   line   namespace   using   log   use   class   

#include <cstdio>
#include <iostream>
#include <algorithm>
using namespace std;
const int N=70;
int n,a[N],cnt,maxn,maxnn;
bool cmp(int x,int y){return x>y;}
bool use[N];

inline void dfs(int ans,int sum,int goal,int now){
    if(sum*goal==maxn){printf("%d\n",goal); exit(0);}
    if(maxn-ans<a[cnt])return;
    if(ans==goal){dfs(0,sum+1,goal,1); return;}
    for(register int i=now;i<=cnt;i++)
        if(!use[i] && ans+a[i]<=goal){
            use[i]=1;
            dfs(ans+a[i],sum,goal,i+1);
            use[i]=0;
            if(ans+a[i]==goal || ans==0)break;
            while(a[i]==a[i+1])i++;
        }
}

int main(){
    scanf("%d",&n);
    for(register int i=1;i<=n;i++){
        int x;
        scanf("%d",&x);
        if(x<=50){a[++cnt]=x; maxn+=a[cnt]; maxnn=max(a[cnt],maxnn);}
    }
    sort(a+1,a+cnt+1,cmp);
    for(register int i=maxnn;i<=maxn/2;i++)
        if(maxn%i==0)dfs(0,0,i,1);
    printf("%d\n",maxn);
    return 0;
}

  

luogu_1120 小木棍

标签:algorithm   str   logs   line   namespace   using   log   use   class   

原文地址:http://www.cnblogs.com/codetogether/p/7631761.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!