#include using Bags = std::vector>; int N, M; std::vector e; std::vector v, w; void rec( int i, int val, Bags &bags, std::vector &cap, int &max_val, Bags &max_bags ){ if(i == M){ if(val > max_val){ max_val = val; max_bags = bags; } return; } for(int j=0;j> N >> M; e.resize(N); for(int i=0;i> e[i]; } v.resize(M); w.resize(M); for(int i=0;i> v[i] >> w[i]; } Bags bags(N); std::vector cap(N); for(int i=0;i