Answer to Question #198290 in Python for mani

Question #198290

Smaller Scores

A group of people(P) are playing an online game. Their scores are stored in the order of their entry time in S. Each integer S[i] corresponds to the score of the person Pi.


For each person Pi you have to report the number of people who played after the person and scored less than the person.


Input

The first line contains a single integer N.

The second line contains N space-separated


Output

The output should contain N space-separated integers representing the number of people who played after the person and scored less than the person.


Explanation

Given S = 13 12 11


Score of P1 is 13.

Score of P2 is 12.

Score of P3 is 11.


The number of people who played after P1 and scored less than 13 is 2(12, 11).

The number of people who played after P2 and scored less than 12 is 1(11).

The number of people who played after P3 and scored less than 11 is 0.


The output is 2 1 0.


Sample Input 1

3

13 12 11

Sample Output 1

2 1 0

Sample Input 2

4

4 3 5 2

Sample Output 2

2 1 1 0



1
Expert's answer
2021-05-25T05:41:44-0400
def scores(l:list, n:int):


	res = [0 for i in range(n)]
	for i in range(n-1):
		for j in range(i+1,n):
			if l[i] > l[j]:
				res[i] += 1
	print(*res)


while True:
	try:
		n = int(input())
		if n < 0:
			raise ValueError
		l = list(map(int, input().split()))
		if len(l) != n:
			raise ValueError
	except ValueError:
		print("incorrect input")
		continue


	scores(l, n)

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS