前面两个检查点WA,后面三个AC
#include<iostream>
using namespace std;
int s;
void dp(int *l,int v,int n,int d,int w){
if(w<n){
for(int i=w+1;i<n;i++){
if(d+l[i]>v){
if(v-d<s){
s=v-d;
}
continue;
}
dp(l,v,n,d+l[i],i);
}
}
}
int main(){
int v,n;
cin>>v>>n;
int l[n];
s=v;
for(int i=0;i<n;i++){
cin>>l[i];
}
dp(l,v,n,0,0);
cout<<s;
return 0;
}