PivotOJ

Eurokod

시간 제한: 1000ms메모리 제한: 1024MB출처: COCI 2023-2024BOJ 31269

문제

This year, for the first time, the Eurokod is being held, an international competition in writing beautiful and readable code!

There are nn contestants participating in the competition, labeled with numbers from 11 to nn, and each of them has written a code.

Their codes are evaluated by an association of computer scientists. The association consists of a president and members of the association. The president awards points to codes in one way, and the members of the association award points in another way.

President’s points:

The president will rank the codes from the most beautiful to the least beautiful (in his opinion). The first code will be awarded nn points, and each subsequent code will be awarded one point less than the previous one.

Members of the association’s points:

Each member of the association will vote for the code he considers the most beautiful. After each member of the association has voted, the codes will be ranked in descending order according to the number of votes they received from the members of the association. The first code (the one with the most votes) will be awarded nn points, and each subsequent code will be awarded one point less than the previous one.

Total points:

The total number of points for each code is equal to the sum of the points awarded by the president and the number of points awarded by the members of the association.

Your task is to print the order of codes in descending order according to the number of points.

If more codes have the same number of points, then the better ranked one is the one that has won more points from the members of the association.

입력

The first line contains an integer nn (1 ≤ n ≤ 50), the number of contestants.

The second line contains nn integers aia_i (1 ≤ a_i ≤ n), where the ii-th integer represents the label of the code that the president ranked ii-th. The ranking of the president is given in the order from the most beautiful to the least beautiful, it contains all the labels from 11 to nn exactly once.

The third line contains nn integers bib_i (0 ≤ b_i ≤ 200), where the ii-th integer represents the number of votes that the ii-th code received from the members of the association. There won’t be two codes that received the same number of votes.

출력

In nn lines, print the ranking of codes in descending order according to the number of points.

Each line should be in the form "[rank]. Kod[label] ([number of points])", where [rank] is the rank of the code in the ranking, [label] is the label of the code written in two-digit form with leading zeros, and [number of points] is the number of points that the code won.

For example, if the first place was won by the code with the label 33 with 1212 points, then the first line is "1. Kod03 (12)".

힌트

Clarification of the first example: Kod03 and Kod02 have the same number of points, but Kod03 has more votes from the members of the association, so it is better ranked.

Clarification of the second example: The president ranked the Kod05 as the most beautiful, so it won n=5n = 5 points.

예제

예제 1

입력
3
1 2 3
50 10 20
출력
1. Kod01 (6)
2. Kod03 (3)
3. Kod02 (3)

예제 2

입력
5
5 2 4 1 3
4 5 2 1 3
출력
1. Kod02 (9)
2. Kod05 (8)
3. Kod01 (6)
4. Kod04 (4)
5. Kod03 (3)

예제 3

입력
7
6 3 2 1 5 4 7
200 56 11 0 13 105 12
출력
1. Kod06 (13)
2. Kod01 (11)
3. Kod02 (10)
4. Kod03 (8)
5. Kod05 (7)
6. Kod07 (4)
7. Kod04 (3)
코드를 제출하려면 로그인하세요.