#include #include #include #include #include #include #include #include #include #include #define rep(i,n) for(int i=0;i=0;i--) #define FOR(i,a,b) for(int i=a;i>n; int *w; w=new int[n]; int sw=0; rep(i,n){ cin>>w[i]; sw+=w[i]; } if(sw%2==1){ cout<<"impossible"<> dp; dp.resize(n); rep(i,n){ dp[i].resize(sw+1); } rep(j,sw+1){ if(j==w[0]){ dp[0][j]=1; }else{ dp[0][j]=0; } } dp[0][0]=1; FOR(i,1,n){ rep(j,sw+1){ if(j==0){ dp[i][j]=1; } if(j-w[i]<0){ dp[i][j]=dp[i-1][j]; }else{ dp[i][j]=max(dp[i-1][j],dp[i-1][j-w[i]]); } } } /*rep(j,sw+1){ cout<