AT_abc381_e [ABC381E] 11/22 Subsequence

Description

[problemUrl]: https://atcoder.jp/contests/abc381/tasks/abc381_e > この問題における 11/22 文字列の定義は A 問題および C 問題と同じです。 文字列 $ T $ が以下の条件を全て満たすとき、$ T $ を **11/22 文字列** と呼びます。 - $ |T| $ は奇数である。ここで、$ |T| $ は $ T $ の長さを表す。 - $ 1 $ 文字目から $ \frac{|T|+1}{2}\ -\ 1 $ 文字目までが `1` である。 - $ \frac{|T|+1}{2} $ 文字目が `/` である。 - $ \frac{|T|+1}{2}\ +\ 1 $ 文字目から $ |T| $ 文字目までが `2` である。 例えば `11/22`, `111/222`, `/` は 11/22 文字列ですが、`1122`, `1/22`, `11/2222`, `22/11`, `//2/2/211` はそうではありません。 `1`, `2`, `/` からなる長さ $ N $ の文字列 $ S $ が与えられるので、$ Q $ 個のクエリを処理してください。 各クエリでは $ L $, $ R $ が与えられます。$ S $ の $ L $ 文字目から $ R $ 文字目までからなる **(連続な)** 部分文字列を $ T $ としたとき、 11/22 文字列であるような $ T $ の **(連続とは限らない)** 部分列の長さの最大値を求めてください。そのような部分列が存在しないときは `0` を出力してください。

Input Format

入力は以下の形式で標準入力から与えられる。ここで $ \mathrm{query}_i $ は $ i $ 番目のクエリを意味する。 > $ N $ $ Q $ $ S $ $ \mathrm{query}_1 $ $ \mathrm{query}_2 $ $ \vdots $ $ \mathrm{query}_Q $ 各クエリは以下の形式で与えられる。 > $ L $ $ R $

Output Format

$ Q $ 行出力せよ。$ i $ 行目には $ i $ 番目のクエリへの答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 10^5 $ - $ 1\ \leq\ Q\ \leq\ 10^5 $ - $ S $ は `1`, `2`, `/` からなる長さ $ N $ の文字列 - $ 1\ \leq\ L\ \leq\ R\ \leq\ N $ - $ N,\ Q,\ L,\ R $ は整数 ### Sample Explanation 1 $ 1 $ 番目のクエリについて、$ S $ の $ 1 $ 文字目から $ 7 $ 文字目からなる部分文字列は `111/212` です。この文字列は `11/22` を部分列として含み、これは 11/22 文字列であるような部分列として最大です。よって答えは $ 5 $ です。 $ 2 $ 番目のクエリについて、$ S $ の $ 9 $ 文字目から $ 12 $ 文字目からなる部分文字列は `1122` です。この文字列は 11/22 文字列であるような部分列を含まないので、答えは $ 0 $ です。