RT,教练非叫我写搜索(不写DP),然后挂了
#include<bits/stdc++.h>
using namespace std;
int money[300];
int a[210];
int nn,m;
int maxlong=-0x3f3f3f3f;
void search(int k,int n,int x){
if(n==0 || k==0){
return;
}
maxlong=max(x,maxlong);
for(int i=n;i>=0;i--){
x+=a[k]*i;
n-=i;
money[x]++;
search(k-1,n,x);
n+=i;
x-=a[k]*i;
}
}
int main(){
cin>>nn>>m;
for(int i=1;i<=m;i++)cin>>a[i];
sort(a+1,a+1+m);
search(m,nn,1);
cout<<maxlong+1;
}