문제
n명의 스카우터가 전력 보강을 위해 m명의 선수들을 평가한다.
총 q개의 쿼리가 주어지며, 아래 네가지 형태가 존재한다.
1) EVAL sid pname score
sid번 스카우터가 pname인 선수에게 score를 부여한다.
1<=sid<=100,000,000 , pname: 5자리 이하 소문자 , 1<=score<=10
기존에 sid가 pname을 평가한 기록이 있으면 기존 기록을 덮어쓴다.
2) CLEAR sid
sid번 스카우터의 모든 평가정보를 삭제한다.
1<=sid<=100,000,000
선수평가 이력이 있는 스카우터 번호만 주어진다.
3) SUM flag
: flag==1, 총점이 가장 높은 선수 이름을 출력한다. 같다면 이름이 사전순으로 느린 선수가 우선이다.
: flag==0, 총점이 가장 낮은 선수 이름을 출력한다. 같다면 이름이 사전순으로 빠른 선수가 우선이다.
4) AVG flag
: flag==1, 평균 점수가 가장 높은 선수 이름을 출력한다. 같다면 이름이 사전순으로 느린 선수가 우선이다.
: flag==0, 평균 점수가 가장 낮은 선수 이름을 출력한다. 같다면 이름이 사전순으로 빠른 선수가 우선이다.
평균은 소수점 둘째자리에서 반올림한다.
3), 4)번 결과로 평가기록이 없는 선수가 출력될 수도 있다.
입력
첫 줄에 스카우터 수 n, 선수 수 m 이 주어진다. (1 <= n,m <= 10,000)
두번째 줄에 m명의 선수 이름이 주어진다.
세번째 줄에 쿼리 수 q가 주어진다. (1 <= q <= 100,000)
네번째 줄부터 q개의 줄에 걸쳐 문제에서 주어진 형태로 쿼리가 주어진다.
출력
SUM, AVG 형태의 쿼리에 대한 결과를 한 줄씩 출력한다.
평가 기록이 없는 선수도 결과로 포함될 수 있다.
예제 #1
2 3
hwang lee son
11
EVAL 100 son 2
EVAL 100 lee 4
EVAL 200 son 2
SUM 1
AVG 1
EVAL 100 son 1
SUM 0
SUM 1
CLEAR 100
AVG 0
AVG 1
son
lee
hwang
lee
hwang
son
예제 #2
2 3
cc bb aa
4
SUM 0
SUM 1
AVG 0
AVG 1
aa
cc
aa
cc