TORONTO KIDS COMPUTER CLUB | PMCA Friday 19:00 Python Homework 20.05.08.
post-template-default,single,single-post,postid-17480,single-format-standard,ajax_fade,page_not_loaded,,no_animation_on_touch,qode-theme-ver-7.6.2,wpb-js-composer js-comp-ver-6.10.0,vc_responsive

PMCA Friday 19:00 Python Homework 20.05.08.

12 May PMCA Friday 19:00 Python Homework 20.05.08.


You take part in a competition and get good score. So you decide to add it to your resume. However, the released results only include the average rank for each of the attained scores. You think that might not be enough information, and want to include the exact range in which your score falls (i.e. if there are 25 people with scores better than yours, and 3 people tied with you, the range would be 26-29).

Furthermore, you want to build a program that would handle possible future situations in which the range of the scores, as well as the number of contestants, have greatly increased. You also want your program to work even if the scores are not necessarily given to you in order.

Input Specification
The first line of the input file will contain an integer N between 1 and 100000, inclusive.

N lines will follow, containing the scores that were attained in the contest, as well as the average rank for each of them. Each of them will contain two numbers, separated by a space. The first number will be between 0 and 3×109, inclusive. It will correspond to a score that was attained in the contest by some people. The second number will be a decimal number between 0 and 3×108 specified using the format in the sample input, and it will contain the average rank corresponding to that score.

The last line of the input contains your score in the competition. You may assume that this number appears as the first number in one of the previous N lines.

Output Specification
You will output two lines. They will contain the range corresponding to the rank of your score.

Sample Input:
5 2
4 10
3 20.5
1 34
0 35
2 29

Output for Sample Input:

The average rank of score 5 is 2, that means there are 3 people got score 5, the range of corresponding to the rank of score 5 is 1 to 3. 
Then the score next lower than 5 is 4. And the rank range of score 4 will follow the previous range (1~3) which starts from 4. The range of score 4 is 4 to 16, so we can get the average rank of score 4 is 10.

You may use list in the list or dictionary to do this homework
List in the List example:
>>> aList = [[2, 4], [5, 8], [3, 2]]
you can sort aList by using:
>>> aList.sort(reverse = True)

Dictionary example, try the following:
>>> d = {}
>>> d[2] = 4
>>> d[5] = 8
>>> d[3] = 2
>>> print(d)
{2: 4, 5: 8, 3: 2}

if you would like to get value 8, you need to enter:
>>> print(d[5])

No Comments

Sorry, the comment form is closed at this time.