luogu#P3564. [POI 2014] BAR-Salad Bar

[POI 2014] BAR-Salad Bar

题目描述

Bytea 去了一间沙拉自助吧台。

吧台上有一排 nn 个水果。

具体来说,水果只有苹果和橙子。

Bytea 可以选取水果序列中任意一段连续区间来制作沙拉。

她选中这段水果后,有两种依次添加进沙拉的顺序:从左往右,或是从右往左。

Bytea 很爱吃橙子,因此她提出要求:无论采用哪种添加顺序,在整个往沙拉里放水果的全过程中,沙拉里橙子的数量每时每刻都不能少于苹果的数量。

请你编写程序,帮 Bytea 找出满足上述全部条件的、长度最长的连续水果区间。

输入格式

标准输入的第一行包含一个整数 nn1n1061 \le n \le 10^6),代表水果的总数。

下一行给出一个长度为 nn 的字符串,其字符为 a1,a2,,ana_1, a_2, \cdots, a_n (ai{j,p}a_i \in \{j, p\})。

这两个字符对应苹果与橙子的波兰语名称:jabłka(苹果)和 pomarańcze(橙子)。

ai=ja_i = j,则第 ii 个水果为苹果,否则为橙子。

输出格式

标准输出仅有一行,该行需输出一个整数,表示满足 Bytea 所有要求的最长连续水果区间包含的水果数量。

注意答案有可能为 00

6
jpjppj

4

提示

简要题意:

有一个长度为 nn 的字符串,每一位只会是 ppjj。求一个最长子串,使得不管是从左往右还是从右往左取,都保证每时每刻已取出的 pp 的个数不小于 jj 的个数。