혈액 분배
시간 제한2초메모리 제한512 MB
여덟 가지 혈액형의 재고와 환자 수가 주어질 때, 호환되는 혈액을 받을 수 있는 환자 수의 최댓값을 구한다.
문제
한 심장 센터에는 네 가지 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 이상 미만이다.
출력
혈액을 받을 수 있는 환자 수의 최댓값을 한 정수로 출력한다.
설명
예제 입력에서 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+ 혈액을 받는다