In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.
Napisem nazywamy każdy skończony ciąg małych liter alfabetu angielskiego. W szczególności może to być ciąg pusty. Zapis oznacza, że jest napisem powstałym przez sklejenie napisów i (w tej kolejności). Napis jest prefiksem napisu , jeżeli istnieje taki napis , że . Inaczej mówiąc, prefiksy to początkowe fragmenty . Jeśli dodatkowo oraz nie jest napisem pustym, to mówimy, że jest prefiksem właściwym .
Napis jest okresem , jeśli jest prefiksem właściwym oraz jest prefiksem (niekoniecznie właściwym) napisu . Przykładowo, napisy abab i ababab są okresami napisu abababa. Maksymalnym okresem napisu nazywamy najdłuższy z jego okresów, lub napis pusty, jeśli nie posiada okresu. Dla przykładu, maksymalnym okresem napisu ababab jest abab. Maksymalnym okresem abc jest napis pusty.
Napisz program, który:
W pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita () - długość napisu. W kolejnym wierszu znajduje się ciąg dokładnie małych liter alfabetu angielskiego - napis.
W pierwszym i jedynym wierszu standardowego wyjścia Twój program powinien zapisać jedną liczbę - sumę długości maksymalnych okresów wszystkich prefiksów napisu zadanego na wejściu.
Dla danych wejściowych:
8 babababa
poprawną odpowiedzią jest:
24
Autor zadania: Szymon Acedański.