3652. 按策略买卖股票的最佳时机
题目链接:3652. 按策略买卖股票的最佳时机
代码如下:
cpp
class Solution {
public:
long long maxProfit(vector<int>& prices, vector<int>& strategy, int k) {
int n = prices.size();
vector<long long> sum(n + 1), sum_sell(n + 1);
for (int i = 0;i < n;i++) {
sum[i + 1] = sum[i] + prices[i] * strategy[i];
sum_sell[i + 1] = sum_sell[i] + prices[i];
}
long long res = sum[n]; //不修改
for (int i = k;i <= n;i++) {
long long ans = sum[i - k] + sum[n] - sum[i] + sum_sell[i] - sum_sell[i - k / 2];
res = max(res, ans);
}
return res;
}
};