Problem description
Trudno o znalezienie osoby równie wytrwałej jak Archibald, a ostatnimi czasy wytrwałość ta przejawia się w próbie odebrania wiadomości od pozaziemskiej cywilizacji. Pomysł na dziś to lokalizowanie możliwie długich, powtarzających się sygnałów na obserwowanym paśmie.
Odczyt z czujników Archibalda jest podzielony na atomowe części, oznaczane wielkimi literami alfabetu angielskiego. Dodatkowo starannie wyznaczona została wartość r taka, że jeśli pewien fragment wiadomości powtarza się przynajmniej r razy, prawdopodobnie jest to przekaz istot rozumnych, a nie zwykły szum. Archibald nie zadowoli się byle ,,Witaj świecie’’, poszukuje więc od razu najdłuższego słowa, które występuje w odczycie jako spójny ciąg przynajmniej r razy, przy czym poszczególne wystąpienia mogą na siebie nachodzić.
Napisz program, który: wczyta liczbę r i ciąg znaków reprezentujący odczyt czujników, wyznaczy najdłuższe podsłowo występujące przynajmniej r razy i wypisze jego długość na standardowe wyjście.
Wejście
W pierwszym wierszu wejścia znajduje się dodatnia liczba naturalna r. W drugim wierszu wejścia znajduje się ciąg wielkich liter alfabetu angielskiego, czyli reprezentacja odczytu czujników.
Wyjście
W pierwszym i jedynym wierszu wyjścia należy wypisać jedną liczbę całkowitą – długość najdłuższego słowa powtarzającego się jako spójny fragment w ciągu wejściowym przynajmniej r razy, lub też liczbę 0, jeśli żadne takie słowo nie istnieje.
Ograniczenia
Długość ciągu z wejścia nie przekracza 300 000. Liczba r jest nie większa od długości tego ciągu.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Szukane podsłowo to
|
Wejście | Wyjście | Wyjaśnienie |
|
|
Szukane podsłowo występujące co
najmniej trzykrotnie to: |