W razie problemów technicznych ze Szkopułem, prosimy o kontakt mailowy pod adresem [email protected].
Jeśli chciałbyś porozmawiać o zadaniach, rozwiązaniach lub problemach technicznych, zapraszamy na serwery Discord. Są one moderowane przez społeczność, ale członkowie zespołu technicznego też są tam aktywni.
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.