You are given an array W, W, …, W[N]. Choose K numbers among them such that the absolute difference between the sum of chosen numbers and the sum of remaining numbers is as large as possible.
Input : arr = [8, 4, 5, 2, 10] k = 2 Output: 17 Input : arr = [1, 1, 1, 1, 1, 1, 1, 1] k = 3 Output: 2
There are two possibilities to get the desired answer. These two are:Choose k largest numbers or Choose k smallest numbers. Choose the best-suited option which fits according to the given values. This is because there are some cases in which the sum of smallest k numbers can be greater than rest of the array and there are some cases in which the sum of largest k numbers can be greater than rest of the sum of the numbers.
- Sort the given array.
- Get the sum of all the numbers of the array and store it in sum
- Get the sum of first k numbers of the array and store it in sum1
- Get the sum of last k numbers of the array and store it in sum2
- Output the result which is : max(abs(S1-(S-S1)), abs(S2-(S-S2)))
This article is contributed by Rishabh Bansal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Maximum XOR value of maximum and second maximum element among all possible subarrays
- Maximum element in an array such that its previous and next element product is maximum
- Find all unique pairs of maximum and second maximum elements over all sub-arrays in O(NlogN)
- Maximum of XOR of first and second maximum of all subarrays
- Maximum length Subsequence with alternating sign and maximum Sum
- Maximum increase in value of Matrix to keep maximum rows and columns unchanged
- Sliding Window Maximum (Maximum of all subarrays of size k) using stack in O(n) time
- Sliding Window Maximum (Maximum of all subarrays of size k)
- Maximum difference between two elements such that larger element appears after the smaller number
- Minimize the maximum difference between the heights
- Maximum absolute difference between sum of two contiguous sub-arrays
- Maximum sum of pairs with specific difference
- Find maximum difference between nearest left and right smaller elements
- Choose k array elements such that difference of maximum and minimum is minimized
- Maximum difference between first and last indexes of an element in array
- Find the sum of maximum difference possible from all subset of a given array.
- Maximum difference between group of k-elements and rest of the array.
- Count ways of choosing a pair with maximum difference
- k size subsets with maximum difference d between max and min
- Partition into two subarrays of lengths k and (N - k) such that the difference of sums is maximum