문제
지훈이는 최근 기계 학습 분야에 푹 빠져 있다. 그는 대규모 데이터를 분석하여 흥미롭고 예상치 못한 패턴을 찾아내는 법을 공부하고 있다. 지훈이는 동아리 회원들의 데이터를 이용해, 새로운 사람이 '특별한 배지'를 가지고 있을지 없을지 예측하는 자동 분류기를 만들기로 했다.
안타깝게도 지훈이는 기존 회원들에 대한 데이터를 아주 꼼꼼하게 기록해 두지는 않았다. 지훈이가 알고 있는 것은 기존 회원 명() 각각의 몸무게와 그 회원이 배지를 가지고 있는지의 여부뿐이다. 모든 회원의 몸무게는 서로 다르다.
이 데이터를 바탕으로 지훈이는 "가까운 이웃 분류기"(nearest neighbor classifier)를 만들었다. 새로운 사람 가 배지를 가지고 있을지 예측하기 위해, 지훈이는 먼저 기존 회원 중 와 몸무게가 가장 비슷한 회원 를 찾는다. 만약 가 배지를 가지고 있다면 도 배지를 가지고 있을 것이라고 예측하고, 가 배지가 없다면 도 배지가 없을 것이라고 예측한다. 만약 가장 가까운 회원이 유일하지 않고 두 명인 경우(즉, 몸무게 차이가 같은 회원이 두 명인 경우), 그중 한 명이라도 배지를 가지고 있다면 가 배지를 가지고 있다고 예측한다.
지훈이는 새로 동아리에 가입하려는 사람들을 대상으로 이 분류기를 테스트해 보려 한다. 확인 결과, 몸무게가 이상 이하인 모든 정수 몸무게에 대해 해당 몸무게를 가진 사람이 한 명씩 새로 도착했다. 지훈이의 분류기를 사용했을 때, 이들 중 몇 명이 배지를 가진 것으로 분류될지 구하시오. 분류기는 오직 기존 회원 명의 데이터만을 사용하여 판단하며, 새로 도착한 사람들의 데이터는 사용하지 않는다. 또한, 와 가 매우 클 수 있으므로 부터 까지 하나씩 확인하며 세는 방식으로는 프로그램이 충분히 빠르게 작동하지 않을 수 있음에 유의한다.
입력
첫째 줄에 세 정수 가 공백으로 구분되어 주어진다. (; )
이어서 개의 줄에 각 회원의 정보가 주어진다. 각 줄은 배지가 있는 경우 S, 없는 경우 NS로 시작하며, 그 뒤에 해당 회원의 몸무게 가 주어진다. 모든 몸무게 는 이상 이하의 정수이다.
출력
지훈이의 알고리즘에 의해 배지를 가진 것으로 분류될 새로운 사람의 수를 출력한다. 예제에서는 몸무게가 인 사람들이 배지를 가진 것으로 분류된다.
예제 입력 1
3 1 10
S 10
NS 4
S 1
예제 출력 1
6
코드를 제출하려면 로그인이 필요합니다.
로그인