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

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

혈액 분배

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

요약
여덟 가지 혈액형의 재고와 환자 수가 주어질 때, 호환되는 혈액을 받을 수 있는 환자 수의 최댓값을 구한다.
난이도

보통10점 중 6점

유형
그리디, 수학, 구현
정답자
아직 제출이 없습니다

문제

한 심장 센터에는 네 가지 ABO 혈액형 O, A, B, AB의 혈액이 있다. 각 혈액에는 Rh 인자가 있어 양성(+) 또는 음성(−) 중 하나이므로, 혈액형은 모두 8가지이다.

여러 명의 환자가 각각 정확히 1단위의 혈액을 필요로 한다. 환자가 받을 수 있는 혈액은 환자 자신의 혈액형에 따라 결정된다.

ABO 적합성 (환자가 받을 수 있는 공혈 혈액형):

  • O형 환자는 O형 혈액만 받을 수 있다.
  • A형 환자는 A형 또는 O형 혈액을 받을 수 있다.
  • B형 환자는 B형 또는 O형 혈액을 받을 수 있다.
  • AB형 환자는 모든 ABO 혈액형을 받을 수 있다.

Rh 적합성:

  • Rh 음성 환자는 Rh 음성 혈액만 받을 수 있다.
  • Rh 양성 환자는 Rh 양성 또는 Rh 음성 혈액을 받을 수 있다.

한 환자는 ABO 혈액형과 Rh 인자가 모두 적합한 혈액만 받을 수 있다. 가능한 한 많은 환자가 각각 1단위의 혈액을 받도록 혈액을 배분할 때, 혈액을 받을 수 있는 환자 수의 최댓값을 구하여라.

입력

첫째 줄에 8개의 정수가 주어진다. 순서대로 O 음성, O 양성, A 음성, A 양성, B 음성, B 양성, AB 음성, AB 양성 혈액의 단위 수이다.

둘째 줄에 8개의 정수가 주어진다. 순서대로 O 음성, O 양성, A 음성, A 양성, B 음성, B 양성, AB 음성, AB 양성 혈액형을 가진 환자의 수이다.

각 정수는 0 이상 10710^7 미만이다.

출력

혈액을 받을 수 있는 환자 수의 최댓값을 한 정수로 출력한다.

설명

예제 입력에서 33명의 환자에게 혈액을 배분하는 한 가지 최적의 방법은 다음과 같다.

  • O− 환자 2명이 O− 혈액을 받는다
  • O+ 환자 4명이 O+ 혈액을 받는다
  • A− 환자 3명이 A− 혈액을 받는다
  • A− 환자 3명이 O− 혈액을 받는다
  • A+ 환자 1명이 A+ 혈액을 받는다
  • A+ 환자 1명이 O+ 혈액을 받는다
  • B− 환자 2명이 B− 혈액을 받는다
  • B+ 환자 9명이 B+ 혈액을 받는다
  • AB− 환자 5명이 AB− 혈액을 받는다
  • AB+ 환자 3명이 AB+ 혈액을 받는다

예제4

  1. 예제 1

    입력
    5 5 3 1 2 11 5 12
    2 4 9 2 3 9 7 3
    
    예상 출력
    33
    
  2. 예제 2

    입력
    0 0 0 0 0 0 0 0
    1 1 1 1 1 1 1 1
    
    예상 출력
    0
    
  3. 예제 3

    입력
    10 10 10 10 10 10 10 10
    0 0 0 0 0 0 0 0
    
    예상 출력
    0
    
  4. 예제 4

    입력
    1 1 1 1 1 1 1 1
    1 1 1 1 1 1 1 1
    
    예상 출력
    8