QOJ.ac

QOJ

Süre Sınırı: 2 s Bellek Sınırı: 256 MB Toplam puan: 100

#23865. Штампы с кружками и крестиками

İstatistikler

Условие задачи

У 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.