Computer Science, asked by phanithammana, 7 months ago

Minimum Gifts Problem Description A Company has decided to give some gifts to all of its employees. For that, company has given some rank to each employee. Based on that rank, company has made certain rules to distribute the gifts. The rules for distributing the gifts are: Each employee must receive at least one gift. Employees having higher ranking get a greater number of gifts than their neighbours. What is the minimum number of gifts required by company? Constraints 1 < T < 10 1 < N < 100000 1 < Rank < 10^9 Input First line contains integer T, denoting the number of testcases. For each testcases: First line contains integer N, denoting number of employees. Second line contains N space separated integers, denoting the rank of each employee. Output For each testcase print the number of minimum gifts required on new line. Time Limit 1 Examples Example 1 Input 2 5 1 2 1 5 2 2 1 2 Output 7 3 Explanation For testcase 1, adhering to rules mentioned above, Employee # 1 whose rank is 1 gets one gift Employee # 2 whose rank is 2 gets two gifts Employee # 3 whose rank is 1 gets one gift Employee # 4 whose rank is 5 gets two gifts Employee # 5 whose rank is 2 gets one gift Therefore, total gifts required is 1 + 2 + 1 + 2 + 1 = 7 Similarly, for testcase 2, adhering to rules mentioned above, Employee # 1 whose rank is 1 gets one gift Employee # 2 whose rank is 2 gets two gifts Therefore, total gifts required is 1 + 2 = 3

Answers

Answered by poojan
2

Minimum gifts problem.

Language used: Python Programming

Program:

t=int(input())

for i in range(t):

  n=int(input())

  l=list(map(int,input().split(' ')))

  st='1 '*len(l)

  m=list(map(int,st[:-1].split(' ')))

  for i in range(0,n-1):

     if l[i]>l[i+1] and m[i]<=m[i+1]:

        m[i]=m[i]+1

        for j in range(i,0):

           if l[j-1]>l[j] and m[j-1]<=m[j]:

              m[j-1]=m[j]+1;

           else:

              break

     elif l[i]<l[i+1] and m[i+1]<=m[i]:

        m[i+1]=m[i]+1

  print(sum(m))

Input:

2

5

1 2 1 5 2

2

1 2

Output:

7

3

Learn more:

1. Python program to remove the duplicate elements

https://brainly.in/question/20360283

2. What is list comprehension python?

brainly.in/question/6964716

Similar questions