Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
BRSTKOOW - Bar |
Bajtotka wybrała się do baru sałatkowego. W barze na ladzie leży n owoców ułożonych w jednym rzędzie. Są to pomarańcze i jabłka. Bajtotka może wybrać pewien spójny fragment rzędu owoców, z którego zostanie przygotowana sałatka owocowa.
Wiadomo, że owoce z wybranego fragmentu będą dodawane do sałatki kolejno od lewej do prawej albo kolejno od prawej do lewej. Bajtotka uwielbia pomarańcze i ma dodatkowe wymaganie, aby w trakcie robienia sałatki liczba dodanych już pomarańczy nigdy nie była mniejsza od liczby dodanych jabłek, niezależnie od tego, czy owoce będą dodawane od lewej do prawej, czy odwrotnie. Pomóż Bajtotce i napisz program, który znajdzie jak najdłuższy fragment rzędu owoców spełniający jej wymagania.
Wejście
Pierwszy wiersz standardowego wejścia zawiera jedną liczbę całkowitą n (1 ≤ n ≤ 1 000 000), oznaczającą liczbę owoców. Kolejny wiersz zawiera napis złożony z n liter a1a2 . . . an (ai ∈ {p, j}). Jeśli ai = p, to i-tym owocem w rzędzie jest pomarańcza, w przeciwnym przypadku jest to jabłko.
Możesz założyć, że w testach wartych 50% punktów zachodzi n ≤ 10 000, a w testach wartych 20% punktów zachodzi n ≤ 1000.
Wyjście
Pierwszy i jedyny wiersz standardowego wyjścia powinien zawierać jedną liczbę całkowitą równą liczbie owoców w najdłuższym spójnym fragmencie rzędu, który spełnia wymagania Bajtotki. Jeśli sałatka dla Bajtotki nie może zostać przyrządzona, prawidłowym wynikiem jest 0.
Dla danych wejściowych: 6 jpjppj poprawnym wynikiem jest: 4
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2013-10-07 |
Limit czasu wykonania programu: | 0.5s-60s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC ASM64 MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |