{"id":457,"date":"2020-06-10T10:50:56","date_gmt":"2020-06-10T10:50:56","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=457"},"modified":"2023-06-09T10:01:47","modified_gmt":"2023-06-09T10:01:47","slug":"total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/","title":{"rendered":"Find Number of Sub-arrays with sum is greater than or equal to K"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\" alt=\"\" \/><\/p>\n<p>Finding the number of subarrays with a sum greater than or equal to a given value K is a common problem in array manipulation. The task involves determining the count of contiguous subarrays within a given array where the sum of elements in the subarray meets the specified condition. This problem can be efficiently solved using approaches such as prefix sum or the two-pointers technique<\/p>\n<p>Given an array of <code>N<\/code> elements, print the total number of sub-arrays whose sum value is greater than or equal to <code>K<\/code>. Also, it is recommended to go through from <a href=\"http:\/\/prepbytes.com\/blog\/arrays\/subarray-with-given-sum\/\" title=\"Subarray with given sum\">Subarray with given sum<\/a> problem for better understanding.<\/p>\n<h2>Understand with the Example:<\/h2>\n<pre><code>Input : N = 5, K = 3\n        A[] = [1 2 3 4 5]\n\nOutput : 13\n\nExplanation :\n\nThere are 13 sub-arrays whose sum is greater than or equal to 3\n\n(3), (4), (5) \n\n(1 2), (2 3), (3 4), (4 5),\n\n(1 2 3), (2 3 4), (3 4 5), \n\n(1 2 3 4), (2 3 4 5), (1 2 3 4 5)\n\nThe only two sub-arrays whose sum is less than 3 are (1) and (2).<\/code><\/pre>\n<h2>Brute Force Method to Find Number of Subarrays with Sum Greater than or Equal to K:<\/h2>\n<blockquote>\n<ol>\n<li>\n<p>A simple brute force solution is to generate all the sub-arrays and check whether their sum is greater than or equal to <code>K<\/code> or not.<\/p>\n<\/li>\n<li>\n<p>There are <\/p>\n<p><img decoding=\"async\" src=\"http:\/\/latex.codecogs.com\/svg.latex?{\\frac{N(N+1)}{2}!}\" border=\"0\" \/><\/p>\n<p>number of sub-arrays in an array.   <\/p>\n<\/li>\n<li>\n<p><code>Time Complexity<\/code> of this approach would be quadratic i.e. <code>O(N^2)<\/code>.<\/p>\n<\/li>\n<\/ol>\n<p><strong>NOTE<\/strong>: If N &lt;= 10<sup>3<\/sup>, it would work fine but for greater values of <code>N<\/code>, it would result in TLE (Time Limit Exceeded).<\/p>\n<\/blockquote>\n<h3>SOLUTIONS:<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_471 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_471 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_471 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_471 .wpsm_nav-tabs > li.active > a, #tab_container_471 .wpsm_nav-tabs > li.active > a:hover, #tab_container_471 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_471 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_471 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_471 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_471 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_471 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_471 .wpsm_nav-tabs > li > a:hover , #tab_container_471 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_471 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_471 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_471 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_471 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_471 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_471 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_471 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_471 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_471 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_471 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_471 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_471\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_471\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_471_1\" aria-controls=\"tabs_desc_471_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_471_2\" aria-controls=\"tabs_desc_471_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_471\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_471_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &amp;lt;stdio.h&amp;gt; \r\n\r\nint subarrays(int arr[],int n,int k) \r\n{ \r\n    int count = 0; \r\n\r\n    for (int i = 0; i &amp;lt; n; i++) \r\n    { \r\n      int sum = 0; \r\n      for (int j = i; j &amp;lt; n; j++) \r\n      {\r\n        sum += arr[j];\r\n        if (sum  &amp;gt;= k) \r\n        { \r\n            count++; \r\n        } \r\n\r\n      } \r\n    } \r\n\r\n    return count; \r\n} \r\n\r\nint main() \r\n{ \r\n  int t;\r\n  scanf(\"%d\",&amp;amp;t);\r\n  while(t--)\r\n  {\r\n    int n,k;\r\n    scanf(\"%d %d\",&amp;amp;n,&amp;amp;k);\r\n    int arr[n];\r\n    for(int i=0;i&amp;lt;n;i++)\r\n      scanf(\"%d\",&amp;amp;arr[i]);\r\n    printf(\"%d&#92;n\",subarrays(arr,n,k));\r\n  }\r\n} \r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_471_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">#include &amp;lt;bits\/stdc++.h&amp;gt; \r\nusing namespace std; \r\n\r\n\r\nint subarrays(int arr[],int n,int k) \r\n{ \r\n    int count = 0; \r\n\r\n    for (int i = 0; i &amp;lt; n; i++) \r\n    { \r\n      int sum = 0; \r\n      for (int j = i; j &amp;lt; n; j++) \r\n      {\r\n        sum += arr[j];\r\n        if (sum  &amp;gt;= k) \r\n        { \r\n            count++; \r\n        } \r\n\r\n      } \r\n    } \r\n\r\n    return count; \r\n} \r\n\r\nint main() \r\n{ \r\n  int t;cin&amp;gt;&amp;gt;t;\r\n  while(t--)\r\n  {\r\n    int n,k;cin&amp;gt;&amp;gt;n&amp;gt;&amp;gt;k;\r\n    int arr[n];\r\n    for(int i=0;i&amp;lt;n;i++)\r\n      cin&amp;gt;&amp;gt;arr[i];\r\n    cout&amp;lt;&amp;lt;subarrays(arr,n,k)&amp;lt;&amp;lt;\"&#92;n\";\r\n  }\r\n  return 0;\r\n}\r\n\r\n\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_471 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_471 a\"),jQuery(\"#tab-content_471\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t\n<p><strong>Time Complexity<\/strong>: O(N<sup>2<\/sup>)<\/p>\n<p><strong>Space Complexity<\/strong>: O(1)<\/p>\n<h2>Efficient Method  to Find Number of Subarrays with Sum Greater than or Equal to K:<\/h2>\n<blockquote>\n<ol>\n<li>\n<p>In order to find the total no. of subarrays that have sum value greater than equal to  <code>K<\/code>, instead we can find total subarrays that have value less than <code>K<\/code>, the difference between total no of subarrays and our calculated subarrays would be our <code>answer<\/code>.<\/p>\n<\/li>\n<li>\n<p>The idea is to use <code>Sliding Window Technique<\/code>.<\/p>\n<\/li>\n<li>\n<p>We make use of two pointers that point to the starting and the ending of this window,  <code>start<\/code> and <code>end<\/code>.<\/p>\n<\/li>\n<li>\n<p>Initially both the pointers point to the beginning of the array i.e. 0<sup>th<\/sup> index.<\/p>\n<\/li>\n<li>\n<p>Now whenever we add an element, there arises two possible cases &#8211;<br \/>\n&gt;1. If the sum is less than <code>K<\/code>, we will increment our <code>end<\/code> pointer by <code>1<\/code> and the value of (<code>end<\/code> <code>-<\/code> <code>start<\/code>) will give us the current count of subarrays with value less than <code>K<\/code>. Because there are as many subarrays as the length of the window.<br \/>\n&gt;<br \/>\n&gt;2. If the sum is greater than or equal to <code>K<\/code>, we need to subtract the starting element from the sum so that it becomes less than <code>K<\/code> again and increment our <code>start<\/code> pointer by <code>1<\/code>.<br \/>\n&gt;<br \/>\n&gt;3. Keep repeating steps <code>1<\/code> and <code>2<\/code> until we reach the end of the array.<\/p>\n<\/li>\n<\/ol>\n<\/blockquote>\n<h2>Program to find number of subarrays with sum greater than k or Equal to K:<\/h2>\n<pre><code>A[] = [1, 2, 3, 4, 5]\nK = 3\n\nstart = 0\nend = 0\nsum = A[start] = 1\ncount = 0\n\n(start &lt; n) and (end &lt; n) and (sum &lt; K) \nend ++ =&gt; end = 1\ncount = count + (end - start) = 0 + 1 - 0 = 1\nsum = sum + A[end] = 1 + 2 = 3\nstart = 0\n\n(start &lt; n) and (end &lt; n) and (sum &gt;= K) \nsum = sum - A[start] = 3 - 1 = 2\nstart ++ =&gt; start = 1\nend = 1\n\n(start &lt; n) and (end &lt; n) and (sum &lt; K) \nend ++ =&gt; end = 2\ncount = count + (end - start) = 1 + 2 - 1 = 2\nsum = sum + A[end] = 2 + 3 = 5\nstart = 1\n\n(start &lt; n) and (end &lt; n) and (sum &gt;= K) \nsum = sum - A[start] = 5 - 2 = 3\nstart ++ =&gt; start = 2\nend = 2\n\n(start &lt; n) and (end &lt; n) and (sum &gt;= K) \nsum = sum - A[start] = 3 - 3 = 0\nstart ++ =&gt; start = 3\nend = 2\n\n(start &lt; n) and (end &lt; n) and (sum &gt;= K) \nsum = sum - A[start] = 0 - 4 = -4\nstart ++ =&gt; start = 4\nend = 2\n\n(start &lt; n) and (end &lt; n) and (sum &gt;= K) \nsum = sum - A[start] = -4 - 5 = -9\nstart ++ =&gt; start = 5\nend = 2\n\nSince (start &gt;= n), we will stop here and count = 2 is the number of subarrays\nwhich have value less than K = 3\n\nCount of subarrays with sum greater than or equal to K can be calculated by subtracting this calculated count by total number of sub-arrays.<\/code><\/pre>\n<h3>SOLUTIONS:<\/h3>\n<p>\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_472 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_472 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_472 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_472 .wpsm_nav-tabs > li.active > a, #tab_container_472 .wpsm_nav-tabs > li.active > a:hover, #tab_container_472 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_472 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_472 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_472 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_472 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_472 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_472 .wpsm_nav-tabs > li > a:hover , #tab_container_472 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_472 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_472 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_472 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_472 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_472 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_472 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_472 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_472 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_472 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_472 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_472 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_472\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_472\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_472_1\" aria-controls=\"tabs_desc_472_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_472_2\" aria-controls=\"tabs_desc_472_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_472_3\" aria-controls=\"tabs_desc_472_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_472\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_472_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;stdio.h&gt;\r\n\r\nint kmin(int arr[],int n,int k)\r\n{\r\n  int start = 0, end = 0, sum = arr[0], count = 0;\r\n  while(start&lt;n &amp;&amp; end&lt;n)\r\n  {\r\n    if(sum&lt;k)\r\n    {\r\n      end++;\r\n      if(end&gt;=start)\r\n        count += end-start;\r\n      if(end&lt;n)\r\n        sum += arr[end];\r\n    }\r\n    else\r\n    {\r\n      sum -= arr[start];\r\n      start++;\r\n    }\r\n  }\r\n  return count;\r\n}\r\nint main()\r\n{\r\n  int t;\r\n  scanf(\"%d\",&amp;t);\r\n  while(t--)\r\n  {\r\n    int n,k;\r\n    scanf(\"%d%d\",&amp;n,&amp;k);\r\n    int arr[n];\r\n    for(int i=0;i&lt;n;i++)\r\n    {\r\n      scanf(\"%d\",&amp;arr[i]);\r\n    }\r\n    long long res = ((long long)n*(n+1))\/2;\r\n    printf(\"%lld&#92;n\",res-kmin(arr,n,k));\r\n  }\r\n\r\n  return 0;\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_472_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include &lt;bits\/stdc++.h&gt;\r\nusing namespace std;\r\n\r\nint kmin(int arr[],int n,int k)\r\n{\r\n  int start = 0, end = 0, sum = arr[0], count = 0;\r\n  while(start&lt;n &amp;&amp; end&lt;n)\r\n  {\r\n    if(sum&lt;k)\r\n    {\r\n      end++;\r\n      if(end&gt;=start)\r\n        count += end-start;\r\n      if(end&lt;n)\r\n        sum += arr[end];\r\n    }\r\n    else\r\n    {\r\n      sum -= arr[start];\r\n      start++;\r\n    }\r\n  }\r\n  return count;\r\n}\r\nint main()\r\n{\r\n  int t;cin&gt;&gt;t;\r\n  while(t--)\r\n  {\r\n    int n,k;cin&gt;&gt;n&gt;&gt;k;\r\n    int arr[n];\r\n    for(int i=0;i&lt;n;i++)\r\n    {\r\n      cin&gt;&gt;arr[i];\r\n    }\r\n    long long res = ((long long)n*(n+1))\/2;\r\n    cout&lt;&lt;res-kmin(arr,n,k)&lt;&lt;\"&#92;n\";\r\n  }\r\n\r\n  return 0;\r\n}\r\n\r\n\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_472_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">import java.util.*;\r\nimport java.io.*;\r\n\r\n\r\npublic class Main {\r\n\r\n  public static long kmin(int arr[],int n,int k)\r\n    {\r\n      int start = 0, end = 0, sum = arr[0], count = 0;\r\n      while(start&lt;n &amp;&amp; end&lt;n)\r\n      {\r\n        if(sum&lt;k)\r\n        {\r\n          end++;\r\n          if(end&gt;=start)\r\n            count += end-start;\r\n          if(end&lt;n)\r\n            sum += arr[end];\r\n        }\r\n        else\r\n        {\r\n          sum -= arr[start];\r\n          start++;\r\n        }\r\n      }\r\n      return count;\r\n}\r\n  public static void main(String args[]) throws IOException {\r\n\r\n    int t;\r\n        Scanner sc=new Scanner(System.in);\r\n        t=sc.nextInt();\r\n\r\n        while(t&gt;0){\r\n            int n,k;\r\n            n=sc.nextInt();\r\n            k=sc.nextInt();\r\n            int arr[]=new int[n];\r\n            for(int i=0;i&lt;n;i++)\r\n            {\r\n                arr[i]=sc.nextInt();\r\n            }\r\n            long res = (n*(n+1))\/2;\r\n            long p=kmin(arr,n,k);\r\n            System.out.println(res-p);\r\n            t--;\r\n      }\r\n  }\r\n}\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_472 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_472 a\"),jQuery(\"#tab-content_472\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t<br \/>\n<strong>Space Complexity<\/strong>: <code>O(1)<\/code><br \/>\n[forminator_quiz id=&quot;488&quot;]<\/p>\n<p><strong>Conclusion<\/strong><br \/>\nFinding the number of subarrays with a sum greater than or equal to a given value K is a problem that can be efficiently solved using approaches such as prefix sum or the two-pointers technique. These techniques allow us to iterate through the array and count the valid subarrays by maintaining the necessary information about the sum of elements. By leveraging prefix sums or employing the two-pointers technique, we can achieve a time complexity of O(n), effectively determining the number of subarrays that meet the specified condition. This problem is commonly encountered in array manipulation tasks and can be solved with optimized algorithms, providing an efficient solution to count the subarrays with a sum greater than or equal to K.<\/p>\n<h2>Frequently Asked Questions<\/h2>\n<p><strong>Q1. Can this problem be solved using brute force?<\/strong><br \/>\nYes, this problem can be solved using a brute force approach by generating all possible subarrays and checking their sums. However, the brute force approach has a high time complexity of O(n^3) and is not efficient for large arrays. Hence, optimized techniques like prefix sum or the two-pointers approach are preferred.<\/p>\n<p><strong>Q2. What is the prefix sum technique?<\/strong><br \/>\nThe prefix sum technique involves precomputing an array where each element represents the sum of elements up to that index. By using this preprocessed information, the sum of any subarray can be computed in constant time. It enables faster computation of subarray sums, reducing the time complexity of the problem.<\/p>\n<p><strong>Q3. How does the two-pointers technique work?<\/strong><br \/>\nThe two-pointers technique involves maintaining two pointers, &quot;start&quot; and &quot;end,&quot; which represent the starting and ending points of the subarray. By incrementing the &quot;end&quot; pointer while adding elements to the sum, and incrementing the &quot;start&quot; pointer while subtracting elements, the subarray boundaries are adjusted to find valid subarrays. This technique reduces the time complexity to O(n) as it traverses the array only once.<\/p>\n<p><strong>Q4. Are there any trade-offs when using the two-pointers technique?<\/strong><br \/>\nThe two-pointers technique provides an efficient solution with a time complexity of O(n). However, it requires the array elements to be non-negative or have specific properties to maintain correctness. If negative elements are present, alternative approaches or modifications may be necessary.<\/p>\n<p><strong>Q5. Can this problem be solved in linear time complexity?<\/strong><br \/>\nYes, the problem can be solved in linear time complexity using optimized approaches like prefix sum or the two-pointers technique. These approaches allow efficient traversal of the array, resulting in a time complexity of O(n), where n is the size of the array.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Finding the number of subarrays with a sum greater than or equal to a given value K is a common problem in array manipulation. The task involves determining the count of contiguous subarrays within a given array where the sum of elements in the subarray meets the specified condition. This problem can be efficiently solved [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[137],"tags":[40,31,34],"class_list":["post-457","post","type-post","status-publish","format-standard","hentry","category-arrays-interview-programming","tag-array","tag-coding-interview","tag-sliding-window"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to find number of subarrays with sum greater than k or Equal to K<\/title>\n<meta name=\"description\" content=\"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to find number of subarrays with sum greater than k or Equal to K\" \/>\n<meta property=\"og:description\" content=\"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-06-10T10:50:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-06-09T10:01:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Find Number of Sub-arrays with sum is greater than or equal to K\",\"datePublished\":\"2020-06-10T10:50:56+00:00\",\"dateModified\":\"2023-06-09T10:01:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\"},\"wordCount\":855,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\",\"keywords\":[\"array\",\"Coding Interview\",\"sliding window\"],\"articleSection\":[\"Arrays Interview Programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\",\"name\":\"How to find number of subarrays with sum greater than k or Equal to K\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\",\"datePublished\":\"2020-06-10T10:50:56+00:00\",\"dateModified\":\"2023-06-09T10:01:47+00:00\",\"description\":\"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arrays Interview Programming\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/arrays-interview-programming\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Find Number of Sub-arrays with sum is greater than or equal to K\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to find number of subarrays with sum greater than k or Equal to K","description":"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/","og_locale":"en_US","og_type":"article","og_title":"How to find number of subarrays with sum greater than k or Equal to K","og_description":"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.","og_url":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-10T10:50:56+00:00","article_modified_time":"2023-06-09T10:01:47+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Find Number of Sub-arrays with sum is greater than or equal to K","datePublished":"2020-06-10T10:50:56+00:00","dateModified":"2023-06-09T10:01:47+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/"},"wordCount":855,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png","keywords":["array","Coding Interview","sliding window"],"articleSection":["Arrays Interview Programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/","url":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/","name":"How to find number of subarrays with sum greater than k or Equal to K","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png","datePublished":"2020-06-10T10:50:56+00:00","dateModified":"2023-06-09T10:01:47+00:00","description":"we can find total subarrays that have value less than K, the difference between total no of subarrays and our calculated subarrays would be our answer.The idea is to use Sliding Window Technique.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1646218167800-Article_511.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/total-number-of-sub-arrays-whose-sum-value-is-greater-than-or-equal-to-k\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Arrays Interview Programming","item":"https:\/\/prepbytes.com\/blog\/category\/arrays-interview-programming\/"},{"@type":"ListItem","position":3,"name":"Find Number of Sub-arrays with sum is greater than or equal to K"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/457","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=457"}],"version-history":[{"count":19,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/457\/revisions"}],"predecessor-version":[{"id":16756,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/457\/revisions\/16756"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=457"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=457"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=457"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}