모자 크기
면접 대비시간 제한2초메모리 제한512 MB
시착한 모자 크기와 맞음 여부가 주어질 때, 아직 시착하지 않은 크기 중 맞을 수 있는 것의 수를 세고, 피드백이 모순되면 이를 출력한다.
문제
모자 크기를 고르는 일은 생각보다 어렵다. 모자가 너무 작으면 머리를 계속 눌러대고, 심하면 컴퓨터 과학으로 가득 찬 머리 위로 쓰지도 못한다. 반대로 너무 크면 계속 흔들리고, 가장 엄숙하고 중요한 순간에 떨어지거나 바람에 날아갈 것이 뻔하다. 그래서 모자 크기를 정하기 전에 여러 모자를 써 보고 맞는 정도를 기록했다. 어떤 것은 너무 컸고, 어떤 것은 너무 작았으며, 운이 좋으면 하나가 딱 맞았을 수도 있다. 일부 모자(전부는 아닐 수 있다)를 써 본 뒤, 지금은 완벽하게 맞을 수 있는 모자가 몇 개인지 계산하려 한다.
입력
첫째 줄에는 파일에 들어 있는 입력 데이터 세트의 개수 1 ≤ K ≤ 100이 주어진다. 그다음 K개의 데이터 세트가 다음 형식으로 주어진다.
데이터 세트의 첫째 줄에는 두 정수 n, t가 주어진다. 0 ≤ t ≤ n ≤ 100이며, n은 사용할 수 있는 모자의 개수, t는 써 본 모자의 개수이다. 다음 줄에는 n개의 정수 0 ≤ si ≤ 1000이 주어지며, i번째 모자의 크기를 나타낸다. 이 값들은 엄격히 증가하는 순서로 주어진다(따라서 같은 모자 크기가 두 번 나오지 않는다).
다음 t개의 줄에는 각각 두 정수 ci, fi가 주어진다. 0 ≤ ci ≤ 1000, −1 ≤ fi ≤ 1이다. ci는 써 본 모자의 크기이고(항상 앞의 전체 크기 목록에 나오는 값이다), fi는 맞는 정도이다. fi = −1은 너무 컸음, fi = 0은 완벽하게 맞음, fi = 1은 너무 작았음을 뜻한다.
출력
각 데이터 세트마다 먼저 “Data Set x:”를 한 줄에 출력한다. x는 데이터 세트의 번호이다. 그다음 주어진 정보를 바탕으로 완벽하게 맞을 가능성이 있는 모자의 개수를 출력한다. 입력에서 큰 모자가 너무 작았다고 하고 더 작은 모자가 너무 컸다고 하거나, 서로 다른 두 모자 크기가 완벽하게 맞았다고 하면 “Inconsistent feedback”을 출력한다.