Vila Elena, furnizorul principal de mâncare al liceului Radu Greceanu, se confruntă cu o creștere semnificativă a cererii pentru grătar la 7 lei odată cu implementarea serviciului de livrare la bancă. Pentru a gestiona eficient acest volum crescut de comenzi, s-a dezvoltat un algoritm de planificare a livrărilor.
În fiecare pauză este generată aleator o secvență de litere. Literele sunt repartizate în mod consecutiv fiecărei dintre cele comenzi. De exemplu, pentru comenzi și o secvență de litere, prima comandă va fi asociată cu literele de pe pozițiile , și , a doua comandă cu literele de pe pozițiile , și , etc.
Livrările sunt organizate în grupuri pe baza literelor asociate comenzilor. Astfel, toate comenzile asociate aceluiași multiset de litere (mulțime în care elementele pot apărea de mai multe ori, fără a ține cont de ordine) vor fi livrate împreună în aceeași tură. Mai mult, comanda și celelalte comenzi cu aceleași litere ca și comanda primesc prioritate și sunt livrate în etapa inițială a planificării.
Cerință
Implementați algoritmul de planificare al livrărilor pentru a furniza următoarele date angajaților de la Vila Elena:
- Câte comenzi sunt prioritare?
- Câte ture de livrare trebuie făcute?
Date de intrare
Pe prima linie a fișierului de intrare sorti.in
se găsesc două numere naturale și , reprezentând lungimea secvenței de litere și numărul de comenzi.
Pe a doua linie se găsește o secvență de litere.
Date de ieșire
Pe prima linie a fișierului de ieșire sorti.out
se va găsi un singur număr întreg, numărul de comenzi prioritare. Pe a doua linie se va găsi numărul de ture de livrare.
Restricții și precizări
- ;
- Fiecare comandă are asociate maxim litere;
- este un multiplu al lui ;
- Literele asociate comenzilor sunt majuscule de la
A
laZ
; - Răspunsurile corecte la prima întrebare valorează 30% din punctajul problemei.
- În cazul în care răspundeți la o singură întrebare, afișați
-1
pe linia corespunzătoare celeilalte întrebări.
Exemplu
sorti.in
9 3
ABCCEDDQA
sorti.out
2
2
Explicație
Cele trei comenzi au următoarele litere asociate: ACD
, BEQ
, CDA
. Prima și ultima comandă au aceeași mulțime de litere, deci se livrează prioritar. Sunt două ture de livrare: pentru comenzile ACD
și pentru cele BEQ
.