From 5c73343db850dbb6eb73143873e42a8558a6b523 Mon Sep 17 00:00:00 2001 From: chayan das Date: Mon, 29 Sep 2025 23:58:06 +0530 Subject: [PATCH] Create 29 September Maximum subarray sum 2 --- 29 September Maximum subarray sum 2 | 36 ++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 29 September Maximum subarray sum 2 diff --git a/29 September Maximum subarray sum 2 b/29 September Maximum subarray sum 2 new file mode 100644 index 0000000..fd92b7f --- /dev/null +++ b/29 September Maximum subarray sum 2 @@ -0,0 +1,36 @@ +class Solution { + public: + int maxSubarrSum(vector& arr, int a, int b) { + // code here + int n=arr.size(); + + vector pref(n+1,0); + + for(int i=1;i<=n;i++){ + pref[i]=pref[i-1]+arr[i-1]; + } + + deque dq; + + int maxSum=INT_MIN; + + for(int r=a;r<=n;r++){ + int l=r-a; + + while (!dq.empty() && pref[dq.back()] >= pref[l]){ + dq.pop_back(); + } + + dq.push_back(l); + + while (!dq.empty() && dq.front() < r-b){ + dq.pop_front(); + } + + maxSum=max(maxSum,(int)(pref[r]-pref[dq.front()])); + } + + return maxSum; + + } +};