# Generate an N-length array having maximum element minimized and sum of array elements divisible by K

Last Updated : 19 May, 2021

Given two positive integers N and K, the task is to minimize the maximum element of the array formed such that the sum of array elements is positive and divisible by K.

Examples:

Input: N = 4, K = 50
Output: 13
Explanation The generated array is {12, 13, 12, 13}. Sum of the array is 50, which is divisible by K (= 50). Maximum element present in the array is 13, which is minimum possible.

Input: N = 3, K = 3
Output: 1

Approach: The given problem can be solved on the basis of the following observations:

From the above observations, the minimized maximum value of the constructed array is the ceil value of (K/N).

Below is the implementation of the above approach:

## C++

 `// C++ program for the above approach`   `#include ` `using` `namespace` `std;`   `// Function to minimize the maximum` `// element present in an N-length array` `// having sum of elements divisible by K` `int` `minimumValue(``int` `N, ``int` `K)` `{` `    ``// Return the ceil value of (K / N)` `    ``return` `ceil``((``double``)K / (``double``)N);` `}`   `// Driver Code` `int` `main()` `{` `    ``int` `N = 4, K = 50;` `    ``cout << minimumValue(N, K);`   `    ``return` `0;` `}`

## Java

 `// Java program for the above approach` `class` `GFG{`   `// Function to minimize the maximum` `// element present in an N-length array` `// having sum of elements divisible by K` `static` `int` `minimumValue(``int` `N, ``int` `K)` `{` `   `  `    ``// Return the ceil value of (K / N)` `    ``return``(``int``)Math.ceil((``double``)K / (``double``)N);` `}`   `// Driver code` `public` `static` `void` `main(String[] args)` `{` `    ``int` `N = ``4``, K = ``50``;` `     `  `    ``System.out.print(minimumValue(N, K));` `}` `}`   `// This code is contributed by code_hunt.`

## Python3

 `# Python3 program for the above approach` `import` `math`   `# Function to minimize the maximum` `# element present in an N-length array` `# having sum of elements divisible by K`     `def` `minimumValue(N, K):` `    ``# Return the ceil value of (K / N)` `    ``return` `math.ceil(K ``/` `N)`     `# Driver Code` `N ``=` `4` `K ``=` `50` `print``(minimumValue(N, K))`   `# This code is contributed by abhinavjain194`

## C#

 `// C# program for the above approach` `using` `System;`   `class` `GFG{`   `// Function to minimize the maximum` `// element present in an N-length array` `// having sum of elements divisible by K` `static` `int` `minimumValue(``int` `N, ``int` `K)` `{` `  `  `    ``// Return the ceil value of (K / N)` `    ``return``(``int``)Math.Ceiling((``double``)K / (``double``)N);` `}`   `// Driver Code` `public` `static` `void` `Main()` `{` `    ``int` `N = 4, K = 50;` `    `  `    ``Console.WriteLine(minimumValue(N, K));` `}` `}`   `// This code is contributed by ukasp`

## Javascript

 ``

Output:

`13`

Time Complexity: O(1)
Auxiliary Space: O(1)

Previous
Next