#include using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int N,X; cin >> N >> X; vector V(N),W(N); for(auto &v : V) cin >> v; for(auto &w : W) cin >> w; vector> dp(N+1,vector(X+1,0)); for(int i=N; i>0; i--){ int v = V.at(i-1),w = W.at(i-1); for(int k=0; k<=X-w; k++) dp.at(i-1).at(k+w) = max(dp.at(i-1).at(k+w),dp.at(i).at(k)+v); for(int k=0; k<=X; k++) dp.at(i-1).at(k) = max(dp.at(i-1).at(k),dp.at(i).at(k)); } vector answer; int now = dp.at(0).at(X); for(int i=0; i