38 lines
487 B
C++
38 lines
487 B
C++
#include<iostream>
|
|
#include<cstdlib>
|
|
using namespace std;
|
|
int n,c,a[1000],i,m=0;
|
|
bool f[1000];
|
|
|
|
void fa(int s,int t)
|
|
{
|
|
int i;
|
|
if (s==c){cout<<s<<endl;exit(0);}
|
|
if (s>c) {return;}
|
|
if (s>m)m=s;
|
|
//if (t>n){cout<<m<<endl;exit(0);}
|
|
for (i=1;i<=n;i++)
|
|
if (f[i])
|
|
{
|
|
f[i]=false;
|
|
s+=a[i];
|
|
fa(s,t+1);
|
|
s-=a[i];
|
|
f[i]=true;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
int main()
|
|
{
|
|
cin>>n>>c;
|
|
for (i=1;i<=n;++i)cin>>a[i];
|
|
for (i=1;i<=n;++i)f[i]=true;
|
|
fa(0,1);
|
|
cout<<m<<endl;
|
|
return 0;
|
|
}
|
|
|
|
|