중간고사 채점

N개 문제의 배점과 각 응시자의 O/X 채점 결과가 주어질 때, 최고 점수를 받은 응시자를 찾고 동점이면 수험번호가 가장 작은 사람을 출력한다.

쉬움2구현배열완전 탐색면접 대비아직 제출이 없습니다시간 제한1초메모리 제한512 MB

문제

이번 중간고사에는 문제가 NN개 나왔고, 응시자는 MM명이다. 각 문제의 배점과 응시자별 채점 결과가 주어질 때, 가장 높은 점수를 받은 응시자를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문제의 개수 NN과 응시자의 수 MM이 주어진다. (1N1001 \le N \le 100, 1M1001 \le M \le 100)

둘째 줄에는 1번 문제부터 NN번 문제까지의 배점이 순서대로 주어진다. 각 배점은 100 이하의 자연수이고, 공백으로 구분한다.

셋째 줄부터 MM개의 줄에 응시자의 정보가 한 줄에 한 명씩 주어진다. 각 줄은 공백으로 구분한 N+1N+1개의 문자열이다. 첫 번째 문자열은 응시자의 수험 번호로, 100,000 이하의 자연수이다. 두 번째부터 N+1N+1번째 문자열은 1번 문제부터 NN번 문제까지의 채점 결과이며, O 또는 X이다. O는 그 문제를 맞혔다는 뜻이고, X는 틀렸다는 뜻이다.

맞힌 문제의 배점은 점수에 더하고, 틀린 문제의 배점은 더하지 않는다. 수험 번호가 중복되는 경우는 없다.

출력

첫째 줄에 가장 높은 점수를 받은 응시자의 수험 번호와 그 점수를 공백으로 구분해 출력한다. 가장 높은 점수를 받은 응시자가 여러 명이면 수험 번호가 가장 작은 응시자를 출력한다.