From d55acd15b3d5c57846c1016efcd82a1701256622 Mon Sep 17 00:00:00 2001 From: chayan das <110921638+Chayandas07@users.noreply.github.com> Date: Sun, 4 Aug 2024 21:16:52 +0530 Subject: [PATCH] Create 1508. Range Sum of Sorted Subarray Sums --- 1508. Range Sum of Sorted Subarray Sums | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 1508. Range Sum of Sorted Subarray Sums diff --git a/1508. Range Sum of Sorted Subarray Sums b/1508. Range Sum of Sorted Subarray Sums new file mode 100644 index 0000000..95f7e45 --- /dev/null +++ b/1508. Range Sum of Sorted Subarray Sums @@ -0,0 +1,27 @@ +class Solution { + const int mod = 1e9+7; +public: + int rangeSum(vector& nums, int n, int l, int r) { + vector arr; + + // Generate all subarray sums + for(int i = 0; i < n; i++) { + int sum = 0; + for(int j = i; j < n; j++) { + sum = (sum + nums[j]) % mod; + arr.push_back(sum); + } + } + + // Sort the subarray sums + sort(arr.begin(), arr.end()); + + // Compute the range sum + int sum = 0; + for(int i = l - 1; i < r; i++) { + sum = (sum + arr[i]) % mod; + } + + return sum; + } +};