아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

구제금융 보너스 환수

시간 제한1초메모리 제한128 MB

요약
구제금융을 받은 회사 목록과 세율, 그리고 각 임원의 회사와 보너스가 주어질 때, 구제금융 회사 임원의 보너스에서 세율만큼 내림한 금액의 합을 구한다.
난이도

쉬움10점 중 2점

유형
구현, 해시맵, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

많은 금융 회사가 도산하는 것을 막기 위해, 미국 정부(및 여러 다른 나라의 정부)는 수십억 달러 규모의 긴급 대출을 제공하여 이 회사들을 구제(bailout)했다. 그런데 이후 몇몇 회사는 임원들에게 막대한 성과 보너스를 지급했다. 이에 대한 여론의 큰 반발이 일자, 정부가 이 돈을 환수하기 위해 택한 방법 중 하나는 구제금융을 받은 회사에 소속된 직원의 보너스에 95%라는 높은 세금을 매기는 것이었다. 이 문제에서는 정부가 환수하게 될 금액을 계산한다.

구제금융을 받은 회사들의 목록과, 제안된 세율 rr(예: 95%)가 정수로 주어진다(이 예에서는 9595). 또한 임원들의 목록이 주어지며, 각 임원마다 소속 회사와 받은 보너스가 함께 주어진다. 구제금융을 받은 회사에서 일하는 모든 임원은 자신의 보너스 중 rr 퍼센트에 해당하는 금액을 반납해야 하며, 이 값은 소수점 이하를 버려 정수로 내림한다. 편의상, 구제금융을 받지 않은 회사에서 일하는 임원은 보너스를 전혀 반납하지 않는다고 가정한다.

입력

첫째 줄에는 데이터 집합의 개수 KK가 주어진다. 이어서 KK개의 데이터 집합이 각각 다음 형식으로 주어진다.

각 데이터 집합의 첫째 줄에는 네 정수 CC, BB, nn, rr가 주어진다.

  • 1≤C≤5001 \le C \le 500: 전체 회사의 수.
  • 0≤B≤C0 \le B \le C: 그중 구제금융을 받은 회사의 수.
  • 1≤n≤100001 \le n \le 10000: 전체 임원의 수.
  • 0≤r≤1000 \le r \le 100: 백분율로 나타낸 세율.

다음 줄에는 BB개의 정수, 즉 구제금융을 받은 회사의 번호(11 이상 CC 이하)가 주어진다. B=0B = 0이면 이 줄은 비어 있다. 그다음에는 임원 한 명을 설명하는 nn개의 줄이 이어진다. 각 줄에는 두 정수 cic_i와 pip_i가 주어지며, 1≤ci≤C1 \le c_i \le C는 임원 ii가 속한 회사이고 pip_i는 임원 ii가 받은 보너스이다.

출력

각 데이터 집합마다 먼저 Data Set x:를 한 줄에 출력한다. 여기서 xx는 데이터 집합의 번호이다(11부터 시작). 그다음 줄에는 해당 데이터 집합에서 정부가 세금으로 환수하는 총액을 출력한다. 연속된 데이터 집합 사이에는 빈 줄을 하나 출력한다.

예제3

  1. 예제 1

    입력
    2
    4 2 6 95
    1 4
    1 1000000
    3 25000
    3 102425
    4 567444
    1 150
    4 7000
    2 0 2 99
    
    1 500000
    2 500000
    
    예상 출력
    Data Set 1:
    1495863
    
    Data Set 2:
    0
    
  2. 예제 2

    입력
    1
    2 2 2 100
    1 2
    1 12345
    2 67890
    
    예상 출력
    Data Set 1:
    80235
    
  3. 예제 3

    입력
    3
    2 1 3 50
    2
    1 1000
    2 2000
    2 400
    1 1 1 10
    1
    1 55
    5 3 4 95
    2 3 5
    1 100000
    2 200
    4 5000
    5 999
    
    예상 출력
    Data Set 1:
    1200
    
    Data Set 2:
    5
    
    Data Set 3:
    1139