直接爆搜

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 返回总体积为V若干物品的最大总重量,如果g存在选择若干物品总体积为V的情况,返回-1
     * @param v int整型vector 
     * @param g int整型vector 
     * @param V int整型 
     * @return int整型
     */
    vector<int>q,w;
    int ans=-1,l;
    void dfs(int i,int x,int y){
        if(i==l){
            if(x==0)ans=max(ans,y);
            return;
        }
        dfs(i+1,x,y);//不选
        if(q[i]<=x)dfs(i+1,x-q[i],y+w[i]);//选
    }
    int Maximumweight(vector<int>& v, vector<int>& g, int V) {
        l=v.size();
        q=v,w=g;
        dfs(0,V,0);
        return ans;
    }
};