Maximize It in python HackerRank Solution

Hello Programmers, In this post, you will know how to solve the Maximize It in python HackerRank Solution. This problem is a part of the HackerRank Python Programming Series.

Maximize It in python HackerRank Solution
Maximize It in python HackerRank Solutions

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Hackerrank by yourself. If you find any difficulty after trying several times, then you can look for solutions.

Maximize It in python HackerRank Solution

problem

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(Xk))%M
Xi denotes the element picked from the ith 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 :

  • 1 <= K <= 7
  • 1 <= M <= 1000
  • 1 <= Ni <= 7
  • 1 <= magnitude of element in list <= 10^9

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.

Maximize It in python HackerRank Solutions

# Enter your code here. Read input from STDIN. Print output to STDOUT
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)

Disclaimer: The above Problem (Maximize It in python ) is generated by Hackerrank but the Solution is Provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.

Next: collections.Counter() in Python HackerRank Solution

Leave a Reply

Your email address will not be published. Required fields are marked *