#include<iostream>
#include<cstring>
using namespace std;
const int MAXN=100000;
int n,beg,maxx,g[MAXN],f[MAXN];
int main(){
cin>>n>>beg>>maxx;
f[beg]=1;
for(int i=1;i<=n;i++){
int c;
cin>>c;
memset(g,0,sizeof(g));
for(int j=0;j<=maxx;j++){
if(f[j]){
if(j+c<=maxx)g[j+c]=1;
if(j-c>=0)g[j-c]=1;
}
}
memcpy(f,g,sizeof(g));
}
int ans=-1;
for(int i=maxx;i>=0;i--)
if(f[i]){ans=i;break;}
cout<<ans;
return 0;
}
第13行,如果不将g每次置0,会怎么样呢?