#181
Unrated
가까운 이웃 분류기
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

지훈이는 최근 기계 학습 분야에 푹 빠져 있다. 그는 대규모 데이터를 분석하여 흥미롭고 예상치 못한 패턴을 찾아내는 법을 공부하고 있다. 지훈이는 동아리 회원들의 데이터를 이용해, 새로운 사람이 '특별한 배지'를 가지고 있을지 없을지 예측하는 자동 분류기를 만들기로 했다.

안타깝게도 지훈이는 기존 회원들에 대한 데이터를 아주 꼼꼼하게 기록해 두지는 않았다. 지훈이가 알고 있는 것은 기존 회원 NN명(1N500001 \le N \le 50\,000) 각각의 몸무게와 그 회원이 배지를 가지고 있는지의 여부뿐이다. 모든 회원의 몸무게는 서로 다르다.

이 데이터를 바탕으로 지훈이는 "가까운 이웃 분류기"(nearest neighbor classifier)를 만들었다. 새로운 사람 CC가 배지를 가지고 있을지 예측하기 위해, 지훈이는 먼저 기존 회원 중 CC와 몸무게가 가장 비슷한 회원 CC'를 찾는다. 만약 CC'가 배지를 가지고 있다면 CC도 배지를 가지고 있을 것이라고 예측하고, CC'가 배지가 없다면 CC도 배지가 없을 것이라고 예측한다. 만약 가장 가까운 회원이 유일하지 않고 두 명인 경우(즉, 몸무게 차이가 같은 회원이 두 명인 경우), 그중 한 명이라도 배지를 가지고 있다면 CC가 배지를 가지고 있다고 예측한다.

지훈이는 새로 동아리에 가입하려는 사람들을 대상으로 이 분류기를 테스트해 보려 한다. 확인 결과, 몸무게가 AA 이상 BB 이하인 모든 정수 몸무게에 대해 해당 몸무게를 가진 사람이 한 명씩 새로 도착했다. 지훈이의 분류기를 사용했을 때, 이들 중 몇 명이 배지를 가진 것으로 분류될지 구하시오. 분류기는 오직 기존 회원 NN명의 데이터만을 사용하여 판단하며, 새로 도착한 사람들의 데이터는 사용하지 않는다. 또한, AABB가 매우 클 수 있으므로 AA부터 BB까지 하나씩 확인하며 세는 방식으로는 프로그램이 충분히 빠르게 작동하지 않을 수 있음에 유의한다.

입력

첫째 줄에 세 정수 N,A,BN, A, B가 공백으로 구분되어 주어진다. (1N500001 \le N \le 50\,000; 1AB1091 \le A \le B \le 10^9)

이어서 NN개의 줄에 각 회원의 정보가 주어진다. 각 줄은 배지가 있는 경우 S, 없는 경우 NS로 시작하며, 그 뒤에 해당 회원의 몸무게 WW가 주어진다. 모든 몸무게 WW11 이상 10910^9 이하의 정수이다.

출력

지훈이의 알고리즘에 의해 배지를 가진 것으로 분류될 새로운 사람의 수를 출력한다. 예제에서는 몸무게가 1,2,7,8,9,101, 2, 7, 8, 9, 10인 사람들이 배지를 가진 것으로 분류된다.

예제 입력 1

3 1 10
S 10
NS 4
S 1

예제 출력 1

6
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.