Constrained Subsequence Sum LeetCode solution in C++
1class Solution {2public:3int constrainedSubsetSum(vector<int> &nums, int k) {4priority_queue<array<int, 2>> que;5int ret = nums[0], curr;6que.push({nums[0], 0});7for (int i = 1; i < nums.size(); i++) {8while (!que.empty() && que.top()[1] < i - k) {9que.pop();10}11curr = max(0, que.top()[0]) + nums[i];12ret = max(ret, curr);13que.push({curr, i});14}15return ret;16}17};