Samarretes de l'OIcat (2) P12547


Statement
 

pdf   zip

html

Preparar l’OIcat comporta molta feina. Per exemple, cal encarregar les samarretes per als participants …i encertar en les talles! Ens podeu ajudar?

Sabeu, per a cada talla (S, M, L, XL, XXL i XXXL), quantes samarretes es van demanar i van sobrar a la passada edició. Suposeu que les properes edicions tindran el mateix nombre de participants, i amb les mateixes talles.

La vostra tasca és decidir quantes samarretes de cada talla encarregareu a partir d’ara de manera que en el mínim nombre d’edicions s’hagin gastat totes les samarretes exactament. Els nombres encarregats poden ser 0, però lògicament no poden ser negatius. A cada edició heu de fer el mateix encàrrec, i podeu aprofitar les samarretes d’anys passats.

Entrada

L’entrada consisteix en diversos casos, tots amb 14 línies: la primera només té 10 guions, les 6 següents contenen una talla i el nombre de samarretes encarregades d’aquesta talla, segueix una línia buida, i 6 línies més amb una talla i el nombre de samarretes que van sobrar d’aquesta talla (menys de les que es van encarregar). Tant les samarretes encarregades com les que van sobrar poden aparèixer en qualsevol ordre. Tots els nombres estan entre 1 i 108.

Sortida

Per a cada cas, escriviu primer una línia amb 10 guions. Després, si no hi ha solució, escriviu una línia amb “NO”. Altrament, escriviu el mínim nombre d’edicions necessàries per gastar totes les samarretes, seguit de 6 línies, una per talla, de petita a gran, amb el nombre de samarretes de cada que caldrà encarregar cada any.

Observació

Podeu obtenir 40 punts resolent casos on els nombres donats no són mes grans que 100, com l’Exemple d’entrada 1, i 80 punts en total amb nombres no mes grans que 106.

Public test cases
  • Input

    ----------
    S 8
    M 9
    L 12
    XL 6
    XXL 9
    XXXL 4
    
    S 6
    M 6
    L 9
    XL 3
    XXL 3
    XXXL 3
    

    Output

    ----------
    3
    S 0
    M 1
    L 0
    XL 2
    XXL 5
    XXXL 0
    
  • Input

    ----------
    XXL 12
    M 14
    S 10
    L 18
    XXXL 6
    XL 30
    
    XL 12
    M 6
    L 8
    XXXL 2
    S 5
    XXL 3
    ----------
    S 2
    M 10
    L 6
    XL 9
    XXL 12
    XXXL 10
    
    S 1
    M 7
    L 5
    XL 4
    XXL 6
    XXXL 3
    ----------
    XXXL 100000000
    S 100000000
    XXL 100000000
    XL 100000000
    L 100000000
    M 100000000
    
    XL 50000000
    M 50000000
    L 10000000
    XXXL 40000000
    XXL 20000000
    S 30000000
    

    Output

    ----------
    1
    S 0
    M 2
    L 2
    XL 6
    XXL 6
    XXXL 2
    ----------
    NO
    ----------
    1
    S 40000000
    M 0
    L 80000000
    XL 0
    XXL 60000000
    XXXL 20000000
    
  • Information
    Author
    Salvador Roura
    Language
    Catalan
    Official solutions
    C++ Python
    User solutions
    C++ Python