Un șir format din literele cu se numește kpartit de ordin k dacă există și cu proprietățile:
- pentru orice
- pentru orice
- pentru orice
De exemplu șirurile de lungime bbbawwww
și daaaaddd
sunt kpartite de ordinul , șirul de litere de lungime eeeeezzzzz
este kpartit de ordinul , iar șirul de lungime yyyyy
este kpartit de ordinul .
Cerință
Scrieţi un program care, pentru un șir de litere de lungime și un număr natural , determină numărul minim de litere care trebuie eliminate din astfel încât acesta să devină kpartit de ordin . În cazul în care acest lucru nu e posibil, se va afișa .
Date de intrare
Pe prima linie se află numerele și , separate printr-un spațiu, cu semnificația de mai sus iar pe cea de-a doua linie termenii șirului dat . Aceștia nu vor fi separați prin spații.
Date de ieșire
Pe prima linie se află un singur număr natural, reprezentând rezultatul determinat.
Restricții și precizări
- ;
- Șirul este format doar din litere mici ale alfabetului englez.
# | Punctaj | Restricții |
---|---|---|
1 | 21 | |
2 | 36 | |
3 | 24 | |
4 | 19 | Nu există alte restricții. |
Exemplul 1
stdin
8 3
bbbawwww
stdout
0
Explicație
Nu este necesară eliminarea niciunei litere.
Exemplul 2
stdin
8 2
bbbawwww
stdout
1
Explicație
Este suficientă eliminarea unei litere a astfel încât șirul dat să devină kpartit de ordin .
Exemplul 3
stdin
10 5
eeeeezzzzz
stdout
-1
Explicație
Nu este posibilă obținerea unui șir kpartit de ordinul prin eliminarea unor litere ale șirului dat.
Exemplul 4
stdin
10 2
bcbbxxbccc
stdout
3
Explicație
Este suficientă eliminarea unei litere c și a celor două litere x astfel încât șirul dat să devină kpartit de ordin .