Maximize It! Python Hackerrank Solution

Maximize It! Python Hackerrank Solution
Maximize It!

Maximize It! Python Hackerrank Solution

You are given a function f(X)=X^2 You are also given K lists. The ith list consists of Ni elements.

You have to pick one element from each list so that the value from the equation below is maximized:

S=(f(X1)+f(X2)+….+f(Xn))%M

Xi denotes the element picked from the it list . Find the maximized value Smax obtained.

% denotes the modulo operator.

Note that you need to take exactly one element from each list, not necessarily the largest element. You add the squares of the chosen elements and perform the modulo operation. The maximum value that you can obtain, will be the answer to the problem.

Input Format

The first line contains 2 space separated integers K and M.
The next K lines each contains an integer Ni, denoting the number of elements in the ith list, followed by Ni space separated integers denoting the elements in the list.

Constraints

Output Format

Output a single integer denoting the value Smax.

Sample Input

3 1000
2 5 4
3 7 8 9 
5 5 7 8 9 10 

Sample Output

206

Explanation

Picking 5 from the 1st list,9  from the 2nd list and 10 from the 3rd list gives the maximum S value equal to(5^2+9^2+10^2) %1000 = 206.

Code:

#Maximize It! Python Hackerrank Solution

from itertools import product

k, m = map(int, input().split())

array = []
for _ in range(k):
    array.append(list(map(int, input().split()))[1:])

result = 0
for combination in product(*array):
    result = max(sum([x * x for x in combination]) % m, result)
print(result)

#Maximize It! Python Hackerrank Solution

Disclaimer: This problem is originally created and published by HackerRank, we only provide solutions to this problem. Hence, doesn’t guarantee the truthfulness of the problem. This is only for information purposes.

Leave a Comment