Gauss şi Seidel, plictisiţi de activităţile lor cotidiene, s-au apucat de un nou joc. Fiind dat un şir de caractere şi un număr , trebuie găsită o subsecvenţă a acestuia (adică o submulţime de elemente aflate pe poziţii consecutive) de lungime minimă , astfel încât numărul de apariţii a subsecvenţei în şirul dat plus să fie maxim.
Cerință
Fiind dat un şir de caractere şi un număr natural , găsiţi pentru acest şir o subsecvenţă cuprinsă între poziţiile care maximizează numărul de apariţii a acestei subsecvenţe în şir plus lungimea acesteia, adică .
Date de intrare
Fişierul de intrare jocs.in
conţine pe prima linie un număr natural reprezentând numărul cazurilor de test. Un test este descris prin două linii. Prima linie conţine numerele şi cu semnificaţia de mai sus. Pe a doua linie se află caractere, reprezentând şirul dat.
Date de ieșire
Fisierul de ieşire jocs.out
va conţine linii, reprezentând răspunsurile pentru cele teste. Un răspuns se scrie pe două linii: pe prima linie se va scrie numărul de apariţii al subsecvenţei găsite plus lungimea sa, iar pe a doua linie numerele şi reprezentând capetele subsecvenţei.
Restricții și precizări
- pentru ca un răspuns sa fie considerat corect, subsecvenţa afişată trebuie sa apară în şirul iniţial de cel puţin ori
- se garantează că pentru fiecare dat există o soluţie
- în cazul în care există mai multe răspunsuri corecte, puteţi să afişaţi oricare dintre acestea
Exemplul 1
jocs.in
2
18 1
atasarapavamefgefg
18 2
atasarapavamefgefg
jocs.out
7
1 1
5
13 15
Explicație
Pentru primul caz, litera a
apare de ori in șir, răspunsul fiind
Pentru al doilea caz, șirul efg
apare de ori, răspunsul fiind