{"id":1430,"date":"2020-06-11T03:54:41","date_gmt":"2020-06-11T03:54:41","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=1430"},"modified":"2022-03-23T11:52:22","modified_gmt":"2022-03-23T11:52:22","slug":"become-king","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/become-king\/","title":{"rendered":"BECOME KING"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png\" alt=\"\" \/><\/p>\n<h3>CONCEPTS USED:<\/h3>\n<blockquote>\n<p>Greedy algorithm, Priority Queues<\/p>\n<\/blockquote>\n<h3>DIFFICULTY LEVEL:<\/h3>\n<blockquote>\n<p>Medium.<\/p>\n<\/blockquote>\n<h3>PROBLEM STATEMENT<code>(<\/code>SIMPLIFIED<code>)<\/code>:<\/h3>\n<blockquote>\n<p>Himanshu now wants to become the king. He has<br \/>\nN persons to defeat before he can become the King. He can choose any two persons and can fight with them, the strength needed for this is equal to the sum of both the persons. But whenever two persons are defeated they get killed and a new person borns with the combined strength of two person defeated. The fight continues until there is only one person left.Help Himanshu find the minimum strength he should waste to become king.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/greedy-algo\/KING\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h4>For Example :<\/h4>\n<pre><code>1\n3\n2 3 4\n\n14\n\nHimanshu defeats 2 ,3 \nso the list of opponents becomes 5 ,4\nthen Himanshu defeats them.\nSo the strength required is (2+3)+(5+4)=14.\n<\/code><\/pre>\n<h3>OBSERVATION:<\/h3>\n<blockquote>\n<p>Since the new person born has the combined strength of two defeated persons, To minimize the strength of the new person and hence the total strength of king ,We must choose the two persons with the least strength at each iteration.<\/p>\n<p>For example, in the given test case, if Himanshu chooses the person with strength 2 and the person with strength 4 first ,the list becomes &#8211; 6,3 .<\/p>\n<p>Then after defeating them , the overall strength required becomes: 6+9=15 ,which is greater than what we got by selecting the least everytime.<\/p>\n<\/blockquote>\n<h3>SOLVING APPROACH:<\/h3>\n<blockquote>\n<p>In order to minimize the sum, the people who get chosen at every step must be the ones with minimum strength from the list. In order to do that efficiently, a priority queue can be used.<\/p>\n<p>At each iteration, select the ones with minimum and second minimum strength .<\/p>\n<p>Add the two and push back the sum to the list.<\/p>\n<p>Also,keep updating the total sum!<\/p>\n<\/blockquote>\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_1431 {\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_1431 .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_1431 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_1431 .wpsm_nav-tabs > li.active > a, #tab_container_1431 .wpsm_nav-tabs > li.active > a:hover, #tab_container_1431 .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_1431 .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_1431 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_1431 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_1431 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_1431 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_1431 .wpsm_nav-tabs > li > a:hover , #tab_container_1431 .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_1431 .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_1431 .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_1431 .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_1431 .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_1431 .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_1431 .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_1431 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1431 .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_1431 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_1431 .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_1431 .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_1431\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_1431\">\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_1431_1\" aria-controls=\"tabs_desc_1431_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_1431_2\" aria-controls=\"tabs_desc_1431_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_1431_3\" aria-controls=\"tabs_desc_1431_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_1431\">\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_1431_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    #include &lt;stdlib.h&gt;\r\n    struct MinHeap { \r\n    unsigned size; \r\n    unsigned capacity;  \r\n    int* harr;  \r\n    }; \r\n    struct MinHeap* createMinHeap(unsigned capacity) \r\n    { \r\n    \/\/struct MinHeap* minHeap = new MinHeap; \r\n    struct MinHeap* minHeap;\r\n    int n=1;\r\n    minHeap = (struct MinHeap*)malloc(n * sizeof(struct MinHeap)); \r\n    minHeap-&gt;size = 0;  \r\n    minHeap-&gt;capacity = capacity; \r\n    minHeap-&gt;harr = (int*)malloc(capacity * sizeof(int));\r\n    return minHeap; \r\n    } \r\n    void swapMinHeapNode(int* a, int* b) \r\n    { \r\n    int temp = *a; \r\n    *a = *b; \r\n    *b = temp; \r\n    } \r\n     void minHeapify(struct MinHeap* minHeap, int idx) \r\n    { \r\n    int smallest = idx; \r\n    int left = 2 * idx + 1; \r\n    int right = 2 * idx + 2; \r\n\r\n    if (left &lt; minHeap-&gt;size &amp;&amp; minHeap-&gt;harr[left] &lt; minHeap-&gt;harr[smallest]) \r\n        smallest = left; \r\n\r\n    if (right &lt; minHeap-&gt;size &amp;&amp; minHeap-&gt;harr[right] &lt; minHeap-&gt;harr[smallest]) \r\n        smallest = right; \r\n\r\n    if (smallest != idx) { \r\n        swapMinHeapNode(&amp;minHeap-&gt;harr[smallest], &amp;minHeap-&gt;harr[idx]); \r\n        minHeapify(minHeap, smallest); \r\n    } \r\n    } \r\n    int isSizeOne(struct MinHeap* minHeap) \r\n    { \r\n    return (minHeap-&gt;size == 1); \r\n    } \r\n    int extractMin(struct MinHeap* minHeap) \r\n    { \r\n    int temp = minHeap-&gt;harr[0]; \r\n    minHeap-&gt;harr[0] = minHeap-&gt;harr[minHeap-&gt;size - 1]; \r\n    --minHeap-&gt;size; \r\n    minHeapify(minHeap, 0); \r\n    return temp; \r\n    } \r\n    void insertMinHeap(struct MinHeap* minHeap, int val) \r\n    { \r\n    ++minHeap-&gt;size; \r\n    int i = minHeap-&gt;size - 1; \r\n    while (i &amp;&amp; (val &lt; minHeap-&gt;harr[(i - 1) \/ 2])) { \r\n        minHeap-&gt;harr[i] = minHeap-&gt;harr[(i - 1) \/ 2]; \r\n        i = (i - 1) \/ 2; \r\n    } \r\n    minHeap-&gt;harr[i] = val; \r\n    } \r\n    void buildMinHeap(struct MinHeap* minHeap) \r\n    { \r\n    int n = minHeap-&gt;size - 1; \r\n    int i; \r\n    for (i = (n - 1) \/ 2; i &gt;= 0; --i) \r\n        minHeapify(minHeap, i); \r\n    } \r\n\r\n    struct MinHeap* createAndBuildMinHeap(int len[], int size) \r\n    { \r\n    struct MinHeap* minHeap = createMinHeap(size); \r\n    for (int i = 0; i &lt; size; ++i) \r\n        minHeap-&gt;harr[i] = len[i]; \r\n    minHeap-&gt;size = size; \r\n    buildMinHeap(minHeap); \r\n    return minHeap; \r\n    } \r\n\r\n    int minCost(int len[], int n) \r\n    { \r\n    int cost = 0; \r\n    struct MinHeap* minHeap = createAndBuildMinHeap(len, n); \r\n\r\n    while (!isSizeOne(minHeap)) { \r\n        int min = extractMin(minHeap); \r\n        int sec_min = extractMin(minHeap); \r\n\r\n        cost += (min + sec_min);\r\n        insertMinHeap(minHeap, min + sec_min); \r\n    } \r\n    return cost; \r\n    } \r\n    int main()\r\n    {  \r\n\r\n    int t;\r\n    scanf(\"%d\",&amp;t);\r\n    while(t--)\r\n    {\r\n    int n;\r\n    scanf(\"%d\",&amp;n);\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    printf(\"%d&#92;n\",minCost(arr,n));\r\n    }\r\n\r\n    return 0;\r\n    }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\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_1431_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\n     using namespace std; \r\n     struct MinHeap { \r\n     unsigned size; \r\n     unsigned capacity;  \r\n     int* harr;  \r\n     }; \r\n     struct MinHeap* createMinHeap(unsigned capacity) \r\n     {     \r\n     struct MinHeap* minHeap = new MinHeap; \r\n     minHeap-&gt;size = 0;  \r\n     minHeap-&gt;capacity = capacity; \r\n     minHeap-&gt;harr = new int[capacity]; \r\n     return minHeap; \r\n     }  \r\n     void swapMinHeapNode(int* a, int* b) \r\n     { \r\n    int temp = *a; \r\n    *a = *b; \r\n    *b = temp; \r\n     } \r\n     void minHeapify(struct MinHeap* minHeap, int idx) \r\n    { \r\n    int smallest = idx; \r\n    int left = 2 * idx + 1; \r\n    int right = 2 * idx + 2; \r\n\r\n    if (left &lt; minHeap-&gt;size &amp;&amp; minHeap-&gt;harr[left] &lt; minHeap-&gt;harr[smallest]) \r\n        smallest = left; \r\n\r\n    if (right &lt; minHeap-&gt;size &amp;&amp; minHeap-&gt;harr[right] &lt; minHeap-&gt;harr[smallest]) \r\n        smallest = right; \r\n\r\n    if (smallest != idx) { \r\n        swapMinHeapNode(&amp;minHeap-&gt;harr[smallest], &amp;minHeap-&gt;harr[idx]); \r\n        minHeapify(minHeap, smallest); \r\n    } \r\n     } \r\n    int isSizeOne(struct MinHeap* minHeap) \r\n    { \r\n    return (minHeap-&gt;size == 1); \r\n     } \r\n    int extractMin(struct MinHeap* minHeap) \r\n    { \r\n    int temp = minHeap-&gt;harr[0]; \r\n    minHeap-&gt;harr[0] = minHeap-&gt;harr[minHeap-&gt;size - 1]; \r\n    --minHeap-&gt;size; \r\n    minHeapify(minHeap, 0); \r\n    return temp; \r\n    } \r\n     void insertMinHeap(struct MinHeap* minHeap, int val) \r\n    { \r\n    ++minHeap-&gt;size; \r\n    int i = minHeap-&gt;size - 1; \r\n    while (i &amp;&amp; (val &lt; minHeap-&gt;harr[(i - 1) \/ 2])) { \r\n        minHeap-&gt;harr[i] = minHeap-&gt;harr[(i - 1) \/ 2]; \r\n        i = (i - 1) \/ 2; \r\n    } \r\n    minHeap-&gt;harr[i] = val; \r\n    } \r\n    void buildMinHeap(struct MinHeap* minHeap) \r\n    { \r\n    int n = minHeap-&gt;size - 1; \r\n    int i; \r\n    for (i = (n - 1) \/ 2; i &gt;= 0; --i) \r\n        minHeapify(minHeap, i); \r\n    } \r\n\r\n    struct MinHeap* createAndBuildMinHeap(int len[], int size) \r\n    { \r\n    struct MinHeap* minHeap = createMinHeap(size); \r\n    for (int i = 0; i &lt; size; ++i) \r\n        minHeap-&gt;harr[i] = len[i]; \r\n    minHeap-&gt;size = size; \r\n    buildMinHeap(minHeap); \r\n    return minHeap; \r\n    } \r\n\r\n    int minCost(int len[], int n) \r\n    { \r\n    int cost = 0; \r\n    struct MinHeap* minHeap = createAndBuildMinHeap(len, n); \r\n\r\n    while (!isSizeOne(minHeap)) { \r\n        int min = extractMin(minHeap); \r\n        int sec_min = extractMin(minHeap); \r\n\r\n        cost += (min + sec_min);\r\n        insertMinHeap(minHeap, min + sec_min); \r\n    } \r\n    return cost; \r\n    } \r\n     int main()\r\n    {  \r\n\r\n    int t;\r\n    cin&gt;&gt;t;\r\n    while(t--)\r\n    {\r\n    int n;\r\n    cin&gt;&gt;n;\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     cout&lt;&lt;minCost(arr,n)&lt;&lt;endl;;\r\n    }\r\n\r\n     return 0;\r\n     }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\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_1431_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=\"\">\r\n import java.util.*;\r\n\r\n    import java.util.PriorityQueue; \r\n\r\n    class King\r\n     { \r\n    static int MinSum(int arr[], int n) \r\n    { \r\n        int i, sum = 0; \r\n        PriorityQueue&lt;Integer&gt; pq = new PriorityQueue&lt;&gt;(); \r\n        for (i = 0; i &lt; n; i++) \r\n            pq.add(arr[i]); \r\n        while (pq.size() &gt; 1) \r\n        { \r\n            int min = pq.poll(); \r\n            int secondMin = pq.poll(); \r\n            sum += (min + secondMin); \r\n            pq.add(min + secondMin); \r\n        } \r\n        return sum; \r\n    } \r\n    public static void main(String[] args) \r\n    { Scanner sc = new Scanner(System.in);\r\n        int t= sc.nextInt();\r\n        while(t-- &gt;0 ){\r\n            int n = 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        System.out.println(MinSum(arr, n)); }\r\n    } \r\n    } \r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\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_1431 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_1431 a\"),jQuery(\"#tab-content_1431\"));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[forminator_quiz id=&quot;1434&quot;]<\/p>\n<p>This article tried to discuss Greedy algorithm, Priority Queues. Hope this blog helps you understand and solve the problem. To practice more problems on Greedy algorithm, Priority Queues you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CONCEPTS USED: Greedy algorithm, Priority Queues DIFFICULTY LEVEL: Medium. PROBLEM STATEMENT(SIMPLIFIED): Himanshu now wants to become the king. He has N persons to defeat before he can become the King. He can choose any two persons and can fight with them, the strength needed for this is equal to the sum of both the persons. [&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":[100],"tags":[106,101,107],"class_list":["post-1430","post","type-post","status-publish","format-standard","hentry","category-greedy-algo-competitive-coding","tag-competitive","tag-greedy","tag-priority-queue"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Greedy Algo Interview Coding | Become King | Prepbytes<\/title>\n<meta name=\"description\" content=\"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.\" \/>\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\/become-king\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Greedy Algo Interview Coding | Become King | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/become-king\/\" \/>\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-11T03:54:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-23T11:52:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.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=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"BECOME KING\",\"datePublished\":\"2020-06-11T03:54:41+00:00\",\"dateModified\":\"2022-03-23T11:52:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/\"},\"wordCount\":298,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png\",\"keywords\":[\"competitive\",\"Greedy\",\"priority queue\"],\"articleSection\":[\"Greedy Algo Competitive Coding\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/become-king\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/become-king\/\",\"name\":\"Greedy Algo Interview Coding | Become King | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png\",\"datePublished\":\"2020-06-11T03:54:41+00:00\",\"dateModified\":\"2022-03-23T11:52:22+00:00\",\"description\":\"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/become-king\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/become-king\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Greedy Algo Competitive Coding\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/greedy-algo-competitive-coding\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"BECOME KING\"}]},{\"@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":"Greedy Algo Interview Coding | Become King | Prepbytes","description":"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.","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\/become-king\/","og_locale":"en_US","og_type":"article","og_title":"Greedy Algo Interview Coding | Become King | Prepbytes","og_description":"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.","og_url":"https:\/\/prepbytes.com\/blog\/become-king\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-11T03:54:41+00:00","article_modified_time":"2022-03-23T11:52:22+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/become-king\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"BECOME KING","datePublished":"2020-06-11T03:54:41+00:00","dateModified":"2022-03-23T11:52:22+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/"},"wordCount":298,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png","keywords":["competitive","Greedy","priority queue"],"articleSection":["Greedy Algo Competitive Coding"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/become-king\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/become-king\/","url":"https:\/\/prepbytes.com\/blog\/become-king\/","name":"Greedy Algo Interview Coding | Become King | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png","datePublished":"2020-06-11T03:54:41+00:00","dateModified":"2022-03-23T11:52:22+00:00","description":"Since the New Person Born Has the Combined Strength of Two Defeated Persons, to Minimize the Strength of the New Person and Hence the Total Strength of King.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/become-king\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/become-king\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/become-king\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645096200290-Article_267.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/become-king\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Greedy Algo Competitive Coding","item":"https:\/\/prepbytes.com\/blog\/category\/greedy-algo-competitive-coding\/"},{"@type":"ListItem","position":3,"name":"BECOME KING"}]},{"@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\/1430","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=1430"}],"version-history":[{"count":10,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1430\/revisions"}],"predecessor-version":[{"id":8183,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/1430\/revisions\/8183"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=1430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=1430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=1430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}