#include<iostream>
#include<cstring>
const int N = 1e2;
const int maxn = 2e7 + 10;
int n,a[N],m,f[maxn],k;
int getnum(){
char ch = getchar();
int f = 1,ans = 0;
while(ch < '0' || ch > '9'){
if(ch == '-') f *= -1;
ch = getchar();
}
while(ch <= '9' && ch >= '0') ans = (ans << 1) + (ans << 3) + ch - '0',ch = getchar();
return ans * f;
}
void out(int n){
if(n < 0) putchar('-'),n *= -1;
if(n > 9) out(n / 10);
putchar(n % 10 + '0');
}
void in(int &n){
n = getnum();
}
void in(int nums[],int n){
for(int i = 0;i < n;i ++){
nums[i] = getnum();
}
}
int main(){
in(k);
in(n);
in(a + 1,n);
memset(f,0x3f,sizeof(f));
f[0] = 0;
for(int i = 1;i <= n;i ++){
for(int j = a[i];j < maxn;j ++){
f[j] = std::min(f[j],f[j - a[i]] + 1);
}
}
for(int i = 1;i < maxn;i ++){
if(f[i] <= k && f[i - 1] > k){
out(i);
putchar('\n');
return 0;
}
}
puts("0\n");
return 0;
}
这个代码样例没过。 我结果减了2得了76分