모자 크기

면접 대비

시간 제한2초메모리 제한512 MB

요약
시착한 모자 크기와 맞음 여부가 주어질 때, 아직 시착하지 않은 크기 중 맞을 수 있는 것의 수를 세고, 피드백이 모순되면 이를 출력한다.
난이도

보통10점 중 4점

유형
구현, 정렬, 이분 탐색, 배열
정답자
아직 제출이 없습니다

문제

모자 크기를 고르는 일은 생각보다 어렵다. 모자가 너무 작으면 머리를 계속 눌러대고, 심하면 컴퓨터 과학으로 가득 찬 머리 위로 쓰지도 못한다. 반대로 너무 크면 계속 흔들리고, 가장 엄숙하고 중요한 순간에 떨어지거나 바람에 날아갈 것이 뻔하다. 그래서 모자 크기를 정하기 전에 여러 모자를 써 보고 맞는 정도를 기록했다. 어떤 것은 너무 컸고, 어떤 것은 너무 작았으며, 운이 좋으면 하나가 딱 맞았을 수도 있다. 일부 모자(전부는 아닐 수 있다)를 써 본 뒤, 지금은 완벽하게 맞을 수 있는 모자가 몇 개인지 계산하려 한다.

입력

첫째 줄에는 파일에 들어 있는 입력 데이터 세트의 개수 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”을 출력한다.

예제1

  1. 예제 1

    입력
    5
    4 2
    1 4 7 10
    1 1
    10 -1
    3 1
    1 4 5
    4 0
    3 2
    1 2 3
    1 -1
    2 1
    3 2
    1 5 8
    1 1
    5 -1
    3 2
    1 4 9
    1 0
    9 0
    
    예상 출력
    Data Set 1:
    2
    
    Data Set 2:
    1
    
    Data Set 3:
    Inconsistent feedback
    
    Data Set 4:
    0
    
    Data Set 5:
    Inconsistent feedback