vector<int>calhuawei91_1(vector<int>&pre, vector<int>&cur) {     vector<int>res;     int send1 = min(pre[0], cur[0]);//第一次传递时从i发送的数量 int tmp = (pre[0] > cur[0]) ? min(pre[0] - cur[0] , cur[1]) : 0; int send2 = min(pre[1] + tmp, cur[0]);//第二次传递时从i发送的数量 res.push_back(send1); res.push_back(send2); return res; } int huawei91_1(vector<vector<int>>&nums,int sum) {    int len = nums.size();    if (len == 0) return sum;    vector<vector<int>>dp((len + 1),vector<int>(2,0));    dp[0][0] = sum; dp[0][1] = 0;    dp[1] = calhuawei91_1(dp[0],nums[0]);    for (int i = 2; i <= len; i++)    {    vector<int> res1 = calhuawei91_1(dp[i - 1], nums[i - 1]);    vector<int> res2 = calhuawei91_1(dp[i - 2], nums[i - 1]);    dp[i] = (res1[0] + res1[1] < res2[0] + res2[1]) ? res1 : res2;    }    return min(dp[len - 1][0] + dp[len - 1][1], dp[len][0] + dp[len][1]); }