CCC-11 (2011) - S4 (Blood Distribution)

View as PDF

Submit solution

Points: 50 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Blood Distribution

Στο Καναδικό Καρδιολογικό Κέντρο είναι διαθέσιμοι τέσσερις τύποι αίματος: O, A, B και AB. Κάθε ένας από αυτούς τους τύπους αίματος έχει έναν παράγοντα Rh, ο οποίος είναι είτε "θετικός" είτε "αρνητικός". Υπάρχουν πολλοί ασθενείς που ο καθένας τους χρειάζεται 1 μονάδα αίματος. Η ομάδα αίματος κάθε ασθενούς καθορίζει τον τύπο του αίματος που μπορεί να λάβει:

  • Κάθε ασθενής με τύπο O μπορεί να λάβει αίμα τύπου O.
  • Κάθε ασθενής με τύπο A μπορεί να λάβει αίμα τύπου A ή τύπου O.
  • Κάθε ασθενής με τύπο B μπορεί να λάβει αίμα τύπου B ή τύπου O.
  • Οι ασθενείς με τύπο AB μπορούν να λάβουν αίμα οποιουδήποτε τύπου.

Οι ασθενείς που έχουν Rh-αρνητικό αίμα μπορούν να δεχτούν μόνο Rh-αρνητικό αίμα, αλλά οι ασθενείς με Rh- θετικό αίμα μπορούν να δεχτούν είτε Rh-θετικό είτε Rh-αρνητικό τύπο αίματος.

Θέλουμε όσο το δυνατόν περισσότεροι ασθενείς να λάβουν μια μονάδα αίματος. Ποιος είναι ο μέγιστος αριθμός ασθενών που μπορούν να λάβουν αίμα;

Είσοδος

Η πρώτη γραμμή εισόδου θα περιέχει 8 ακέραιους αριθμούς: τον αριθμό διαθέσιμων μονάδων αίματος τύπου O αρνητικού, O θετικού, A αρνητικού, A θετικού, B αρνητικού, B θετικού, AB αρνητικού και AB θετικού. Ακολουθεί μια γραμμή που περιέχει οκτώ αριθμούς: τον αριθμό των ασθενών των οποίων ο τύπος αίματος είναι O αρνητικός, O θετικός, A αρνητικός, A θετικός, B αρνητικός, B θετικός και AB αρνητικός και AB θετικός. Κάθε ένας από αυτούς τους ακέραιους αριθμούς θα είναι τουλάχιστον 0 και μικρότερος από 10^{7}.

Έξοδος

Η έξοδος του προγράμματός σας θα πρέπει να είναι ένας μόνο αριθμός: ο μέγιστος αριθμός ασθενών που μπορούν να να λάβουν αίμα.

Παράδειγμα

input

5 5 3 1 2 11 5 12
2 4 9 2 3 9 7 3

output

33
Επεξήγηση του παραδείγματος:
  • 2 ασθενείς τύπου O- λαμβάνουν αίμα τύπου O-
  • 4 ασθενείς τύπου O+ λαμβάνουν αίμα τύπου O+
  • 3 ασθενείς τύπου A- λαμβάνουν αίμα τύπου A-
  • 3 ασθενείς τύπου A- λαμβάνουν αίμα τύπου O-
  • 1 ασθενής τύπου A+ λαμβάνει αίμα τύπου A+
  • 1 ασθενής τύπου A+ λαμβάνει αίμα τύπου O+
  • 2 ασθενείς τύπου B- λαμβάνουν αίμα τύπου B-
  • 9 ασθενείς τύπου B+ λαμβάνουν αίμα τύπου B+
  • 5 ασθενείς τύπου AB- λαμβάνουν αίμα τύπου AB-
  • 3 ασθενείς τύπου AB+ λαμβάνουν αίμα τύπου AB+

Σημείωση: Τουλάχιστον το 30% των αρχείων ελέγχου για αυτό το πρόβλημα θα έχουν το πολύ 1000 μονάδες κάθε τύπου αίματος.


Comments

There are no comments at the moment.