QOJ.ac

QOJ

Límite de tiempo: 2 s Límite de memoria: 256 MB Puntuación total: 100

#23865. Штампи з кружечками та хрестиками

Estadísticas

Умова задачі

У JOI є по $0$ або більше штампів кожного з $3$ видів: штамп із кружечком, штамп із хрестиком та штамп із кружечком і хрестиком. За допомогою цих штампів можна друкувати на папері символи кружечка та хрестика.

При використанні штампа з кружечком друкується $1$ кружечок, а при використанні штампа з хрестиком — $1$ хрестик. При використанні штампа з кружечком і хрестиком в один горизонтальний ряд друкуються по $1$ кружечку та $1$ хрестику, причому, повертаючи штамп, можна надрукувати їх так, щоб хрестик був праворуч від кружечка, або так, щоб кружечок був праворуч від хрестика.

JOI використав кожен із наявних у нього штампів рівно по $1$ разу в певному порядку і надрукував на папері горизонтальний ряд із кружечків та хрестиків. Надрукована послідовність кружечків та хрестиків задається рядком $S$. $S$ — рядок довжини $N$, що складається із символів O та X; якщо $S_i = $ O, це означає, що $i$-й зліва надрукований JOI символ є кружечком, а якщо $S_i =$ X — хрестиком ($1 \le i \le N$).

Вам невідома кількість штампів у JOI, але відома надрукована ним послідовність кружечків та хрестиків. За надрукованою послідовністю кружечків та хрестиків знайдіть максимально можливу кількість штампів із кружечком і хрестиком, яка може бути у JOI.

Обмеження

  • $1 \le N \le 100000 (= 10^5)$
  • $S$ — рядок довжини $N$.
  • Кожен символ рядка $S$ дорівнює O або X.

Введення та виведення

Вхідні дані
Вхідні дані подаються зі стандартного потоку введення в такому форматі:
$N$
$S$

Вихідні дані
Виведіть максимально можливу кількість штампів із кружечком і хрестиком, яка може бути у JOI.

Приклади вводу та виводу

Приклад вводу 1

5
OXXOX

Приклад виводу 1

2

Надруковані JOI символи зліва направо: кружечок, хрестик, хрестик, кружечок, хрестик. Якщо у JOI є відповідно $0, 1, 2$ штампів із кружечком, штампів із хрестиком та штампів із кружечком і хрестиком, то він міг надрукувати ці символи, використовуючи штампи в такому порядку:

  • Використати $1$-й штамп із кружечком і хрестиком, щоб надрукувати кружечок і хрестик у такому порядку.
  • Праворуч від них використати $2$-й штамп із кружечком і хрестиком, щоб надрукувати хрестик і кружечок у такому порядку.
  • Нарешті, праворуч від них використати штамп із хрестиком, щоб надрукувати хрестик.

Оскільки випадок наявності $3$ або більше штампів із кружечком і хрестиком неможливий, слід вивести $2$.


Приклад вводу 2

14
OXOXOXOXXOXOXO

Приклад виводу 2

7

Приклад вводу 3

10
OOOOOOOOOO

Приклад виводу 3

0

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.