QOJ.ac

QOJ

Time Limit: 3 s Memory Limit: 256 MB Total points: 100

#23831. Wieża JOIOI

Statistics

Treść zadania

Wieża JOIOI to jednoosobowa ($1$ gracz) gra wykorzystująca krążki.

Gra ta rozgrywana jest przy użyciu kilku krążków, z których każdy ma napisany jeden ze znaków J, O lub I. Krążki mają parami różne średnice, a na początku gry krążki te są ułożone jeden na drugim od dołu do góry w kolejności malejących średnic. Używając tych krążków, chcesz zbudować jak najwięcej miniwież JOIOI. Miniwieża JOIOI składa się z $3$ krążków i czytana w kolejności rosnących średnic krążków daje napis JOI lub IOI. Jednak tego samego krążka nie można użyć $2$ ani więcej razy.

Figure

Rysunek: Z JOIOII można zbudować $2$ miniwieże JOIOI

Zadanie

Znaki zapisane na przygotowanych krążkach są podane w kolejności rosnących średnic krążków jako napis $S$ o długości $N$. Napisz program, który wyznaczy maksymalną liczbę miniwież JOIOI, jakie można zbudować przy użyciu tych krążków.

Ograniczenia

  • $1 \le N \le 1000000$: długość napisu $S$.

Wejście

Wczytaj następujące dane ze standardowego wejścia.

  • W $1$-szym wierszu zapisana jest liczba całkowita $N$. $N$ oznacza długość napisu $S$.
  • W $2$-gim wierszu zapisany jest napis $S$.

Wyjście

Wypisz na standardowe wyjście w $1$ wierszu liczbę całkowitą oznaczającą maksymalną liczbę miniwież JOIOI, jakie można zbudować.

Podzadania

  • Dla $10\%$ punktów w danych testowych spełniony jest warunek $N \le 15$.
  • Dla $30\%$ punktów w danych testowych spełniony jest warunek $N \le 50$.
  • Dla $50\%$ punktów w danych testowych spełniony jest warunek $N \le 3000$.

Przykład 1

Wejście

6
JOIIOI

Wyjście

2

JOIIOI zawiera JOI oraz IOI po $1$ razie jako podciągi, zatem liczba miniwież JOIOI, jakie można zbudować, wynosi $2$.

Przykład 2

Wejście

5
JOIOI

Wyjście

1

Wprawdzie napis zawiera JOI oraz IOI jako podciągi, ale tego samego znaku nie można użyć $2$ ani więcej razy, więc nie można wybrać ich jednocześnie.

Przykład 3

Wejście

6
JOIOII

Wyjście

2

Ten przykład odpowiada przykładowi z treści zadania.

Przykład 4

Wejście

15
JJOIIOOJOJIOIIO

Wyjście

4

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.