1 条题解

  • 1
    @ 2021-11-07 16:46:35

    #include<iostream>
    using namespace std;
    const int N=21;
    int n,k,a[N],b[N],ans=0x7f7f7f;
    void dfs(int x)
    {
    if(x>n)
    {
    int big=0;
    for(int i=1;i<=k;i++)
    {
    if(b[i]>big)
    {
    big=b[i];
    }
    }
    if(big<ans)
    {
    ans=big;
    }
    return ;
    }
    for(int i=1;i<=k;i++)
    {
    if(b[i]+a[x]>=ans)
    {
    continue;
    }
    b[i]+=a[x];
    dfs(x+1);
    b[i]-=a[x];
    }
    }
    int main()
    {
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
    cin>>a[i];
    }
    dfs(1);
    cout<<ans;
    return 0;
    }

  • 1

信息

难度
8
分类
(无)
标签
递交数
31
已通过
4
通过率
13%
上传者