leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

1425.cpp (523B)


0 class Solution {
1 public:
2 int constrainedSubsetSum(vector<int> &nums, int k) {
3 deque<int> q;
4 int res = nums[0];
5 for (int i = 0; i < nums.size(); ++i) {
6 nums[i] += !q.empty() ? q.front() : 0;
7 res = max(res, nums[i]);
8 while (!q.empty() && nums[i] > q.back())
9 q.pop_back();
10 if (nums[i] > 0) q.push_back(nums[i]);
11 if (i >= k && !q.empty() && q.front() == nums[i - k]) q.pop_front();
12 }
13 return res;
14 }
15 };