Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Do dekoracji domu Jasia przydałby się
także ładny, ozdobny łańcuch. Jasio nie lubi chaosu i braku ładu, a taki
łatwo otrzymać rozwieszająć łańcuch z oczkami w wielu kolorach, z
których żaden się przebija. Dlatego Jasio chciałby, aby najczęściej
występujący kolor oczek w jego łańcuchu, występował na ponad połowie
oczek.
Gospodarzowi szkoda złociszy na stworzenie nowego łańcucha, dlatego
chciałby wykorzystać stary, znaleziony w piwnicy. Pomóż Jasiowi, napisz
dla niego program, który sprawdzi czy ze starego łańcucha da się wyciąć
kawałek o pożądanej przez Jasia własności. Uwaga! Jedno
oczko to żaden łańcuch, dlatego Jasia interesują fragmenty złożone z
co najmniej dwóch oczek.
Wejście
W pierwszym wierszu wejścia znajduje się pojedyncza liczba naturalna n, oznaczająca liczbę oczek starego łańcucha znalezionego przez Jasia w piwnicy. W drugim wierszu wejścia znajduje się jedno słowo s składające się z n (s1, s2, s3...sn) małych znaków alfabetu angielskiego. Różne litery odpowiadają różnym kolorom oczek łańcucha.
Wyjście
W pierwszym (jedynym) wierszu wyjścia należy wypisać dwie liczby
naturalne l < r,
takie, że fragment starego łańcucha sl, sl + 1, ...sr
zawiera co najmniej t
wystąpień pewnego koloru, gdzie $t >
\lfloor \frac{r-l+1}{2} \rfloor$. Możesz wypisać indeksy
odpowiadające dowolnemu z takich fragmentów. Jeśli taki fragment nie
istnieje, zamiast tego należy wypisać pojedyncze słowo
NIE
.
Ograniczenia
1 ≤ n ≤ 200000.
Przykład
Wejście | Wyjście | Wyjaśnienie |
|
|
Nie istnieje fragment łańcucha o pożądanej własności. |
Wejście | Wyjście | Wyjaśnienie |
|
|
Fragment |
Wejście | Wyjście | Wyjaśnienie |
|
|
Fragment |