Answer to Question #313585 in Python for Manish

Question #313585

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
2022-03-18T02:57:44-0400
def report(S):
    P = []
    for i in range(len(S)):
        cnt = 0
        for j in range(i+1, len(S)):
            if S[j] < S[i]:
                cnt += 1
        P.append(cnt)
    return P


def main():
    n = int(input())
    line = input()
    S = [int(s) for s in line.split()]
    P = report(S)


    for p in P:
        print(p, end=' ')
    
main()

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