Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- int constrainedSubsetSum(vector<int>& A, int k) {
- deque<int> q;
- int res = A[0];
- for (int i = 0; i < A.size(); ++i) {
- A[i] += q.size() ? q.front() : 0;
- res = max(res, A[i]);
- while (q.size() && A[i] > q.back())
- q.pop_back();
- if (A[i] > 0)
- q.push_back(A[i]);
- if (i >= k && q.size() && q.front() == A[i - k])
- q.pop_front();
- }
- return res;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement