제출 기록
시간 제한2초메모리 제한2048 MB
ICPC 제출 기록이 주어질 때, 제출 한 건의 결과를 최대 한 번 바꿔서 금메달을 받을 수 있는 팀을 모두 찾습니다.
문제
국제 도전 퍼즐 대회(ICPC)에서 개의 제출이 있다. 제출 목록 개가 시간순으로 주어진다. 제출 하나는 튜플 로 나타낼 수 있으며, 이는 팀 가 시각 에 문제 를 제출했고 상태가 라는 뜻이다. 제출의 상태는 "accepted" 또는 "rejected" 중 하나이다.
팀의 점수는 해결한 문제 수와 팀이 소비한 총 시간의 쌍이다. 해결한 문제 수가 많을수록 점수가 높다. 해결한 문제 수가 같으면 소비한 총 시간이 작을수록 점수가 높다.
팀 가 문제 에 대해 상태가 "accepted"인 제출을 한 번 이상 하면, 팀 가 문제 를 해결했다고 한다. 점수가 더 높은 팀의 수가 보다 작으면 그 팀은 금메달을 받을 수 있다. 여기서 은 문제를 하나 이상 해결한 팀의 수이고, 은 이상인 가장 작은 정수를 뜻한다.
개의 제출 중 상태를 최대 한 개까지 바꿨을 때 금메달을 받을 수 있는 팀을 모두 찾아야 한다.
소비한 총 시간은 해결한 모든 문제에서 소비한 시간의 합이다(해결한 문제가 없으면 ). 해결한 문제 하나에서 소비한 시간은, 상태가 "accepted"인 첫 제출의 시각에 그 문제에서 첫 accepted 제출 이전에 있던 제출 수의 20배를 더한 값이다. 제출 가 제출 보다 앞선다는 것은 가 주어진 개의 제출 목록에서 보다 먼저 나타난다는 뜻이다.
입력
입력은 여러 개의 테스트케이스로 이루어진다. 첫 줄에 테스트케이스의 수 ()가 주어진다. 각 테스트케이스는 다음과 같다.
첫 줄에 제출의 수 ()이 주어진다.
다음 개의 줄 중 번째 줄에는 , , , 가 주어진다. 이는 팀 가 시각 에 문제 를 제출했고 상태가 임을 뜻한다. 구체적인 조건은 다음과 같다.
- 는 길이가 1 이상 20 이하인 문자열이며, 대문자, 소문자, 숫자, 밑줄(
_)로 이루어진다. 같은 이름을 가진 팀은 없다. - 는 대문자 하나이다.
- 는 300보다 작은 음이 아닌 정수이다.
- 는 "
accepted" 또는 "rejected"이다.
모든 에 대해 가 보장된다. 이고 이면, 번째 제출이 번째 제출보다 먼저 왔다고 본다.
모든 테스트케이스의 합은 을 넘지 않는다.
출력
각 테스트케이스에 대해 다음을 출력한다.
첫 줄에 개의 제출 중 상태를 최대 한 개 바꿨을 때 금메달을 받을 수 있는 팀의 수 를 출력한다.
둘째 줄에는 금메달을 받을 수 있는 팀의 이름을 서로 다른 문자열 개로 출력한다. 순서는 상관없다.
힌트
첫 번째 예제의 첫 번째 경우에서 TS1은 문제를 두 개 해결했으므로 금메달을 받을 수 있다. TSxingxing10은 첫 번째 제출의 상태를 "accepted"로 바꾸면 금메달을 받을 수 있다.
첫 번째 예제의 두 번째 경우에서 AllWayTheNorth, XuejunXinyoudui1, LetItRot, ImYourFan은 점수가 같다. 문제 두 개를 해결했고 총 소비 시간은 이다. 어떤 제출의 상태도 바꾸지 않아도 이 네 팀은 동시에 금메달을 받을 수 있다.