[BalkanOI2018] Election
题目描述
**翻译自 [BalkanOI 2018](http://boi2018.ro) Day1 T1「[Election](http://boi2018.ro/assets/Tasks/BOI/Day_1/election/elections_en.pdf)」**
有一个长度为 $N$ 的字符串 $S[1\dots N]$,它仅由 `C` 和 `T` 两种字母组成。
现在有 $Q$ 个查询,每个查询包含两个整数 $L$ 和 $R$,表示:设新字符串 $S'=S[L\dots R]$,至少在 $S'$ 中要删除多少个字符,才能保证:对于 $S'$ 的每一个前缀和后缀,其 `C` 的数量都不小于 `T` 的数量。
输入输出格式
输入格式
第一行有一个整数 $N$。
第二行有一个长度为 $N$ 的字符串 $S$。
第三行有一个整数 $Q$。
在接下来的 $Q$ 行中,每行有两个整数 $L$ 和 $R$,表示一组查询。
输出格式
对于每组查询输出一行,表示至少在 $S'$ 中要删除多少个字符,才能保证题面要求。
输入输出样例
输入样例 #1
11
CCCTTTTTTCC
3
1 11
4 9
1 6
输出样例 #1
4
6
3
说明
#### 样例解释
查询 1:`CCCTTTTTTCC`;
查询 2:`TTTTTT`;
查询 3:`CCCTTT`。
子任务 #1(28 分):$1 ≤ N, Q ≤ 2000$;
子任务 #2(54 分):$1 ≤ N, Q ≤ 7\times 10^4$;
子任务 #3(18 分): $1 ≤ N, Q ≤ 5\times 10^5$。
感谢 Planet6174 提供的翻译