QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 256 MB 총점: 100

#23865. Stempel Lingkaran Silang

통계

Deskripsi Masalah

JOI memiliki masing-masing $0$ atau lebih dari $3$ jenis stempel: stempel lingkaran, stempel silang, dan stempel lingkaran-silang. Ini adalah stempel yang dapat mencetak tanda lingkaran atau silang di atas kertas.

Menggunakan stempel lingkaran akan mencetak $1$ lingkaran, dan menggunakan stempel silang akan mencetak $1$ silang. Menggunakan stempel lingkaran-silang akan mencetak $1$ lingkaran dan $1$ silang secara berdampingan dalam satu baris mendatar, dan dengan mengubah arah stempel, tanda silang dapat dicetak di sebelah kanan lingkaran ataupun lingkaran di sebelah kanan silang.

JOI menggunakan setiap stempel yang dimilikinya tepat $1$ kali dengan urutan yang sesuai untuk mencetak lingkaran dan silang dalam satu baris mendatar di atas kertas. Barisan lingkaran dan silang yang tercetak dinyatakan oleh string $S$. $S$ adalah string sepanjang $N$ yang terdiri dari O dan X; jika $S_i = $ O, artinya tanda ke-$i$ dari kiri di antara tanda yang dicetak JOI adalah lingkaran, dan jika $S_i =$ X, artinya tanda tersebut adalah silang ($1 \le i \le N$).

Anda tidak mengetahui banyaknya stempel yang dimiliki JOI, tetapi Anda mengetahui barisan lingkaran dan silang yang dicetak oleh JOI. Dari barisan lingkaran dan silang yang tercetak, carilah nilai maksimum yang mungkin untuk banyaknya stempel lingkaran-silang yang dimiliki JOI.

Batasan

  • $1 \le N \le 100000 (= 10^5)$
  • $S$ adalah string dengan panjang $N$.
  • Setiap karakter dari $S$ adalah O atau X.

Masukan / Keluaran

Masukan
Masukan diberikan dari Masukan Standar dalam format berikut:
$N$
$S$

Keluaran
Keluarkan nilai maksimum yang mungkin untuk banyaknya stempel lingkaran-silang yang dimiliki JOI.

Contoh Masukan / Keluaran

Contoh Masukan 1

5
OXXOX

Contoh Keluaran 1

2

Tanda yang dicetak JOI secara berurutan dari kiri adalah lingkaran, silang, silang, lingkaran, silang. Jika JOI masing-masing memiliki $0, 1, 2$ stempel lingkaran, stempel silang, dan stempel lingkaran-silang, maka ia dapat mencetak tanda seperti itu dengan menggunakan stempel sesuai urutan berikut:

  • Gunakan stempel lingkaran-silang ke-$1$ untuk mencetak lingkaran dan silang sesuai urutan tersebut.
  • Di sebelah kanannya, gunakan stempel lingkaran-silang ke-$2$ untuk mencetak silang dan lingkaran sesuai urutan tersebut.
  • Terakhir, di sebelah kanannya, gunakan stempel silang untuk mencetak silang.

Karena tidak mungkin ia memiliki $3$ atau lebih stempel lingkaran-silang, maka keluarkan $2$.


Contoh Masukan 2

14
OXOXOXOXXOXOXO

Contoh Keluaran 2

7

Contoh Masukan 3

10
OOOOOOOOOO

Contoh Keluaran 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.