Una botiga disposa d’un inventari de productes que consisteix en una llista dels productes que ven, incloent el nombre exacte d’unitats de cada producte que té en estoc. L’inventari es dóna ordenat pel codi del producte.
També disposa del llistat de compres que s’han fet, per ordre cronològic, que és una llista dels codis dels productes comprats pels clients i quantes unitats se n’han comprat.
Fes un programa que llegeixi, primer, l’inventari de la botiga; tot seguit, el llistat de les compres; i finalment, mostri l’inventari actualitzat. Actualitzar l’inventari vol dir restar les unitats comprades a l’estoc de cada producte, per saber quantes unitats haurien de quedar.
Possibles errors
En general, les compres troben suficient estoc, però si una compra vol més unitats d’un producte de les que hi ha disponibles, s’ha de considerar que la compra no ha estat possible i per tant aquella compra s’ignora i no afecta l’inventari.
Per altra banda, sovint la llista de compres conté errors i s’intenten comprar productes que no apareixen a l’inventari. Quan una compra té un producte no existent, també s’ignora.
Per tenir una idea de les compres que no eren correctes, ja sigui per estoc o pel producte inexistent, el programa he de mostrar al final el total d’errors (compres invàlides) que s’han detectat.
Observació
Entrada
L’entrada consisteix en dues parts: 1) l’inventari: un enter n seguit de n parelles del codi del producte (un enter) i el nombre d’unitats en estoc (un enter); 2) el llistat de compres: un enter m seguit de m parelles del codi del producte (un enter) i el nombre d’unitats comprades (un enter). Els codis de producte tenen una lletra majúscula seguida de 8 dígits.
Sortida
La sortida serà l’inventari actualitzat, és a dir, una llista de parells d’enters amb el codi de cada producte i les unitats en estoc finals, ordenats per l’identificador del producte. La última línia de la sortida dirà "N errors
" a on N
és el número de compres invàlides.
Input
3 A11111111 0 Y88888888 1 Z99999999 1 5 A11111111 1 Y88888888 2 Z99999999 1 X77777777 1 P22222222 1
Output
A11111111 0 Y88888888 1 Z99999999 0 4 errors
Input
3 X11111111 10 Y22222222 5 Z33333333 1 7 X11111111 2 X11111111 3 Y22222222 4 Z33333333 3 Y22222222 2 X11111111 5 Z33333333 1
Output
X11111111 0 Y22222222 1 Z33333333 0 2 errors