유로코드
면접 대비시간 제한1초메모리 제한1024 MB
대통령 순위와 회원 득표 수로 각 코드의 총점을 구해 내림차순으로 출력하되, 총점이 같으면 회원 득표가 많은 코드를 앞에 둡니다.
문제
올해 처음으로 국제 대회 Eurokod가 열린다. 아름답고 읽기 쉬운 코드를 작성하는 대회다.
참가자는 명이며, 1번부터 번까지 번호가 붙어 있다. 각 참가자는 코드를 한 개씩 작성했다.
컴퓨터 과학자 협회가 코드를 평가한다. 협회는 회장 한 명과 회원들로 구성된다. 회장과 회원은 서로 다른 방식으로 점수를 준다.
회장의 점수: 회장은 가장 아름다운 코드부터 가장 아름답지 않은 코드까지 순위를 매긴다. 1위 코드에는 점을 주고, 다음 순위의 코드마다 앞 순위보다 1점 적게 준다.
회원의 점수: 각 회원은 가장 아름답다고 생각하는 코드에 투표한다. 투표가 모두 끝나면 받은 표 수가 많은 순서로 코드를 정렬한다. 1위 코드에는 점을 주고, 다음 순위의 코드마다 앞 순위보다 1점 적게 준다.
총점: 각 코드의 총점은 회장이 준 점수와 회원이 준 점수를 더한 값이다.
총점이 높은 순서대로 코드 순위를 출력한다. 총점이 같으면 회원에게 더 많은 점수를 받은 코드가 더 높은 순위를 차지한다.
입력
첫째 줄에 참가자 수를 나타내는 정수 ()이 주어진다.
둘째 줄에는 정수 () 개가 주어진다. 번째 정수는 회장이 번째로 순위를 매긴 코드의 번호이며, 가장 아름다운 코드부터 가장 아름답지 않은 코드 순서다. 1부터 까지의 번호가 각각 한 번씩 나타난다.
셋째 줄에는 정수 () 개가 주어진다. 번째 정수는 번 코드가 회원에게 받은 표 수다. 같은 표 수를 받은 코드는 없다.
출력
총점의 내림차순으로 순위를 줄에 출력한다. 각 줄은 [rank]. Kod[label] ([number of points]) 형식이다. 번호는 두 자리로 쓰며, 필요하면 앞에 0을 붙인다. 예를 들어 3번 코드가 12점으로 1위라면 첫 줄은 1. Kod03 (12)이다.
힌트
첫 번째 예에서 Kod03과 Kod02는 모두 3점이지만, Kod03이 회원에게 표를 더 많이 받았으므로 순위가 더 높다.
두 번째 예에서 회장이 Kod05를 1위로 매겼으므로, Kod05는 점을 얻는다.