我可能没理解本题输入格式对程序的影响。
#include<bits/stdc++.h>
using namespace std;
int k, n, a[55], ans=0, sum=2000008;
struct node{
bool f=0;
int kk=0x3f3f3f3f;
}dp[2000008];
signed main(){
ios::sync_with_stdio(false); cin.tie(0);cout.tie(0);
cin>>k>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
dp[a[i]].kk=1;
}
sort(a+1, a+1+n);
dp[0].f=1;
dp[0].kk=0;
for(int i=1;i<=n;i++){
for(int j=a[i];j<=sum;j++){
if(dp[j-a[i]].f&&dp[j-a[i]].kk+1<=k){
dp[j].f=1;
dp[j].kk=min(dp[j].kk, dp[j-a[i]].kk+1);
}
}
}
for(int i=1;i<=sum;i++){
if(!dp[i].f) break;
ans=i;
}
cout<<ans<<'\n';
return 0;
}