Related Articles

# Find minimum value of the expression by choosing K elements from given array

• Difficulty Level : Hard
• Last Updated : 16 Mar, 2021

Given an array of integers arr of size N, the task is to find the minimum possible of the expression by choosing exactly K(≤ N) integers form given array arr. Let say if choosen elements are stored in array B (B1, B2, B3…..Bk) then value of expression: Examples:

Input : arr[] = {2, 0, 9, 5}, k = 2
Output :
Let say, choosen elements are {2, 0}, then x = 8, which is minimum possible
Input : arr[] = {4, 21, 5, 3, 8}, k = 3
Output : 200

Approach :
The above expression can be simplified as:

• • • • • So, all we need to do is select the k smallest elements from the array and solve the expression.
Below is the implementation of the above approach:

## C++

 // CPP program to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arr#include using namespace std; // Function to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arrint minimumValue(int arr[], int n, int k){     // Sorting the array for least k element selection    sort(arr, arr + n);     int answer = 0;     // Select first k elements from sorted array    for (int i = 0; i < k; i++)        answer += arr[i] * arr[i];     // Return value of solved expression    return answer * (2 * k - 2);} // Driver codeint main(){    int arr[] = { 4, 21, 5, 3, 8 }, k = 3;         int n = sizeof(arr) / sizeof(arr);         // Function call    cout << minimumValue(arr, n, k);         return 0;}

## Java

 // JAVA program to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arr import java.util.*; class GFG{ // Function to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arrstatic int minimumValue(int arr[], int n, int k){     // Sorting the array for least k element selection    Arrays.sort(arr);     int answer = 0;     // Select first k elements from sorted array    for (int i = 0; i < k; i++)        answer += arr[i] * arr[i];     // Return value of solved expression    return answer * (2 * k - 2);} // Driver codepublic static void main(String[] args){    int arr[] = { 4, 21, 5, 3, 8 }, k = 3;         int n = arr.length;         // Function call    System.out.print(minimumValue(arr, n, k));    }} // This code is contributed by Rajput-Ji

## Python3

 # Python program to find the minimum# possible of the expression by choosing# exactly K(? N) integers form given array arr # Function to find the minimum# possible of the expression by# choosing exactly K(? N) integers# form given array arrdef minimumValue(arr, n, k):     # Sorting the array for least k element selection    arr.sort();     answer = 0;     # Select first k elements from sorted array    for i in range(k):        answer += arr[i] * arr[i];     # Return value of solved expression    return answer * (2 * k - 2); # Driver codeif __name__ == '__main__':    arr = [ 4, 21, 5, 3, 8 ];    k = 3;     n = len(arr);     # Function call    print(minimumValue(arr, n, k)); # This code is contributed by Rajput-Ji

## C#

 // C# program to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arr using System; class GFG{  // Function to find the minimum possible of the expression// by choosing exactly K(? N) integers form given array arrstatic int minimumValue(int []arr, int n, int k){      // Sorting the array for least k element selection    Array.Sort(arr);      int answer = 0;      // Select first k elements from sorted array    for (int i = 0; i < k; i++)        answer += arr[i] * arr[i];      // Return value of solved expression    return answer * (2 * k - 2);}  // Driver codepublic static void Main(String[] args){    int []arr = { 4, 21, 5, 3, 8 };    int k = 3;          int n = arr.Length;          // Function call    Console.Write(minimumValue(arr, n, k));    }} // This code is contributed by 29AjayKumar

## Javascript

 
Output:
200 My Personal Notes arrow_drop_up