시간 제한
1.000 S메모리 제한
512 MB제출 수
1정답 수
1정답률
100.000%
문제 설명
개의 제출 기록이 주어질 때, 각 제출 기록에 따라 변화하는 명예의 전당의 모습을 출력하는 프로그램을 작성하자.
Algorithm Wiki에는 문제마다 해당 문제의 명예의 전당이 존재 한다. 이 시스템을 간소화 해 구현해 보도록 하자.
정답 판정을 받은 제출에 대해 우리는 다음의 정보를 얻을 수 있다.
- 제출 번호
-
번째 제출은 제출 번호 를 갖는다. -
맨 처음 제출의 제출 번호는
이다. - 유저 아이디
-
길이
이상 이하의 문자열로, 알파벳 소문자로만 구성된다. - 실행 시간
-
이상 이하의 정수이다. - 사용 메모리
-
이상 이하의 정수이다. - 사용 언어
-
이상 이하의 정수로 표현된다. - 출력에선 다음을 따라 치환하여 표현해야 한다.
- C
- C++
- Java
- Python
- 코드 길이
-
이상 이하의 정수이다. - 제출한 시간
-
- - : : 의 형식으로 주어진다. -
-
-
-
-
-
- 모든 제출 번호의 상대적 우선순위와 같은 우선순위가 보장되며, 중복되지 않는다.
명예의 전당은 '속도', '메모리', '숏코딩', '선발대'로 총
-
부문 당
위가 존재한다. - 한 사람은 서로 다른 부문에 등재될 수 있다.
-
한 사람은 한 부문의
위 중 한 곳에만 등재될 수 있다. - 한 사람이 여러번 제출한 경우, 당연히 부문에 따라 그 중에서 가장 좋은 결과를 가지고 판단한다.
이어서 각 부문별로 등재 기준을 보자.
- 속도
- 실행 시간이 작은 순
- 실행 시간이 같다면 제출 번호가 작은 순
- 메모리
- 사용 메모리가 작은 순
- 사용 메모리가 같다면 제출 번호가 작은 순
- 숏코딩
- 코드 길이가 짧은 순
- 코드 길이가 같다면 제출 번호가 작은 순
- 선발대
- 제출 번호가 작은 순
마지막으로 각 부문별 표기 정보를 보자.
- 속도
- 유저 아이디 / 실행 시간 / 사용 언어
- 메모리
- 유저 아이디 / 사용 메모리 / 사용 언어
- 숏코딩
- 유저 아이디 / 코드 길이 / 사용 언어
- 선발대
- 유저 아이디 / 제출한 시간 / 사용 언어
편의 상 모든 제출은 동일한 문제에 대한 제출이라고 가정하며, 채점 결과 역시 모두 정답 판정을 받았다고 생각하면 된다.
입력 설명
첫째 줄에 제출 기록의 수를 의미하는 정수
두번째 줄부터
출력 설명
각 출력은 다음을 따른다.
-
첫 번째 행 : 속도 부문에 등재된
위의 표기 정보를 공백으로 구분하여 출력한다. -
두 번째 행 : 메모리 부문에 등재된
위의 표기 정보를 공백으로 구분하여 출력한다. -
세 번째 행 : 숏코딩 부문에 등재된
위의 표기 정보를 공백으로 구분하여 출력한다.
-
네 번째 행 : 선발대 부문에 등재된
위의 표기 정보를 공백으로 구분하여 출력한다. - 다섯 번째 행 : 개행 문자를 출력한다.
각 행에서의 표기 정보는 '{', '}'로 감싸주어야 하며, 만약
자세한 형식은 예제를 참고하자.
예시 1
입력
4
hun 100 500 4 317 2024-04-09 13:22:22
pill 80 300 1 520 2024-04-09 13:23:22
kiwi 80 299 2 555 2024-04-09 14:00:00
hun 75 800 4 415 2024-04-10 17:13:50
출력
{hun/100/Python}
{hun/500/Python}
{hun/317/Python}
{hun/2024-04-09 13:22:22/Python}
{pill/80/C}, {hun/100/Python}
{pill/300/C}, {hun/500/Python}
{hun/317/Python}, {pill/520/C}
{hun/2024-04-09 13:22:22/Python}, {pill/2024-04-09 13:23:22/C}
{pill/80/C}, {kiwi/80/C++}, {hun/100/Python}
{kiwi/299/C++}, {pill/300/C}, {hun/500/Python}
{hun/317/Python}, {pill/520/C}, {kiwi/555/C++}
{hun/2024-04-09 13:22:22/Python}, {pill/2024-04-09 13:23:22/C}, {kiwi/2024-04-09 14:00:00/C++}
{hun/75/Python}, {pill/80/C}, {kiwi/80/C++}
{kiwi/299/C++}, {pill/300/C}, {hun/500/Python}
{hun/317/Python}, {pill/520/C}, {kiwi/555/C++}
{hun/2024-04-09 13:22:22/Python}, {pill/2024-04-09 13:23:22/C}, {kiwi/2024-04-09 14:00:00/C++}
예시 2
입력
3
kiwi 5 512 2 661 2024-04-09 14:00:00
kiwi 4 622 2 412 2024-05-13 22:10:23
kiwi 3 456 2 568 2025-01-01 00:00:01
출력
{kiwi/5/C++}
{kiwi/512/C++}
{kiwi/661/C++}
{kiwi/2024-04-09 14:00:00/C++}
{kiwi/4/C++}
{kiwi/512/C++}
{kiwi/412/C++}
{kiwi/2024-04-09 14:00:00/C++}
{kiwi/3/C++}
{kiwi/456/C++}
{kiwi/412/C++}
{kiwi/2024-04-09 14:00:00/C++}
예시 3
입력
4
pill 100 399 2 800 2024-04-12 11:00:00
hun 150 500 4 600 2024-04-22 12:30:00
pill 80 222 3 300 2024-05-02 14:00:00
hun 180 812 4 1 2024-05-12 15:30:00
출력
{pill/100/C++}
{pill/399/C++}
{pill/800/C++}
{pill/2024-04-12 11:00:00/C++}
{pill/100/C++}, {hun/150/Python}
{pill/399/C++}, {hun/500/Python}
{hun/600/Python}, {pill/800/C++}
{pill/2024-04-12 11:00:00/C++}, {hun/2024-04-22 12:30:00/Python}
{pill/80/Java}, {hun/150/Python}
{pill/222/Java}, {hun/500/Python}
{pill/300/Java}, {hun/600/Python}
{pill/2024-04-12 11:00:00/C++}, {hun/2024-04-22 12:30:00/Python}
{pill/80/Java}, {hun/150/Python}
{pill/222/Java}, {hun/500/Python}
{hun/1/Python}, {pill/300/Java}
{pill/2024-04-12 11:00:00/C++}, {hun/2024-04-22 12:30:00/Python}