Search Your Question...!

FOOD FEST Using Python

A food fest is organised at the JLN stadium. The stalls from different states and cities have been set up. To make the fest more interesting, multiple games have been arranged which can be played by the people to win the food vouchers. One such game to win the food vouchers is described below:

There are N number of boxes arranged in a single queue. Each box has an integer I written on it. From the given queue, the participant has to select two contiguous subsequences A and B of the same size. The selected subsequences should be such that the summation of the product of the boxes should be maximum. The product is not calculated normally though. To make the game interesting, the first box of subsequence A is to be multiplied by the last box of subsequence B. The second box of subsequence A is to be multiplied by the second last box of subsequence B and so on. All the products thus obtained are then added together.

If the participant is able to find the correct such maximum summation, he/she will win the game and will be awarded the food voucher of the same value.

Note: The subsequences A and B should be disjoint.

Example:

Number of boxes, N = 8

The order of the boxes is provided below:



Subsequence A




Subsequence B



The product of the subsequences will be calculated as below:



P1 = 9 * 8 = 72

P2 = 2 * 7 = 14

P3 = 3 * 6 = 18

Summation, S = P1 + P2 + P3 = 72 + 14 + 18 = 104

This is the maximum summation possible as per the requirement for the given N boxes.

Tamanna is also in the fest and wants to play this game. She needs help in winning the game and is asking for your help. Can you help her in winning the food vouchers?

Input Format

The first line of input consists of the number of boxes, N.

The second line of input consists of N space-separated integers.

Constraints

1< N <=3000

-106 <= I <=106

Output Format

Print the maximum summation of the product of the boxes in a separate line.

Sample TestCase 1

Input

8

1 9 2 3 0 6 7 8

Output

104

   View Solution :-   

   






def main(): n=int(input()) r=input().split() arr=[int(i) for i in r] r=range(0,n) max=-1000000 for i in r: j=n-1 sum=0 while i<j: sum+=arr[i]*arr[j] j-=1 i+=1 if sum>max: max=sum for i in r: j=0 sum=0 while n-i-1>j: sum+=arr[n-i-1]*arr[j] j+=1 i+=1 if sum>max: max=sum print(max) main()

No comments:

Post a Comment