페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#4841

선수평가2 3s 256MB

문제

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

출처

teriusu

로그인해야 코드를 작성할 수 있어요.