프로그래밍 대회를 채점하는 일은 만만치 않습니다. 까다로운 참가자, 골치 아픈 판정, 단조로운 작업이 이어지고, 12시간 동안 도넛과 피자, 탄산음료만으로 버텨야 하는 영양 문제까지 있습니다. 그래도 꽤 즐거운 일이기도 합니다.
채점 과정을 자동화하는 소프트웨어는 큰 도움이 됩니다. 여러분은 모듈식 설계를 바탕으로 더 나은 오픈 소스 대회 관리 소프트웨어를 만드는 팀의 일원입니다.
여러분이 맡은 구성 요소는 프로그래밍 대회 팀들의 점수를 계산하고 우승자를 결정합니다. 여러 팀의 결과가 주어질 때 우승 팀을 찾아야 합니다.
한 팀의 점수는 두 가지 요소로 이루어집니다.
올바르게 푼 각 문제마다, 그 문제를 푼 시각에 더해 틀린 제출 한 번당 20분을 벌점으로 부과합니다. 끝내 풀지 못한 문제에는 벌점이 붙지 않습니다.
예를 들어, 어떤 팀이 1번 문제를 두 번째 제출에서 20분에 풀었다면 $20 + 20 = 40$점의 벌점이 부과됩니다. 2번 문제를 세 번 제출했지만 풀지 못했다면 벌점은 없습니다. 3번 문제를 한 번 제출해 120분에 풀었다면 120점의 벌점이 부과됩니다. 이 팀의 최종 점수는 2문제 해결에 벌점 160점입니다.
우승 팀은 가장 많은 문제를 푼 팀입니다. 여러 팀이 같은 최다 문제 수를 풀었다면, 그중 벌점이 가장 적은 팀이 우승합니다.
이 대회에는 문제가 네 개 있습니다. 입력은 벌점까지 계산한 뒤에도 팀 사이에 동점이 발생하지 않도록 보장됩니다.
| 줄 | 내용 |
|---|---|
| 첫째 줄 | 팀의 수 nTeams |
| 2번째 ~ nTeams+1번째 줄 | 이름 p1제출 p1시각 p2제출 p2시각 p3제출 p3시각 p4제출 p4시각 |
각 팀 줄의 첫 번째 항목은 팀 이름이며, 공백을 포함하지 않습니다. 그 뒤로 네 문제 각각에 대해 두 정수가 주어집니다. 그 문제에 제출한 횟수와 올바르게 푼 시각입니다. 팀이 문제를 풀지 못했다면 그 시각은 0입니다. 문제를 풀었다면 제출 횟수는 항상 1 이상입니다.
우승 팀의 이름, 푼 문제 수, 벌점을 한 칸씩 띄어 한 줄에 출력합니다.