链接 这道题本质上还是找子序列问题,需要递归 但是由于数据很大,足足有40个达2^40,绝对会超时,所以我们需要用别的方法来简化 此题用到的是折半搜索,我们将40个分成前后两半,这样就是2*2^20, 少了很多 代码如下 #include<iostream> #include<vector> #include<algorithm> using namespace std; typedef long long ll; void f(int start, int end, ll current_sum, ll m, vector<ll>& s...