做法:01背包 思路 所以设,把a[i]看作价值,c[i]看作容量又因为c[i]有正有负,所以我们正负分开求求的是当容量为0时,价值最大。我们分别把对应的正负容量相加为0时价值相加求最大即可 代码 #include <bits/stdc++.h> using namespace std; #define pb push_back #define mp(aa,bb) make_pair(aa,bb) #define _for(i,b) for(int i=(0);i<(b);i++) #define rep(i,a,b) for(int i=(a);i<=(b);i...