AT_pakencamp_2025_day3_e Find ''rururutata''

题目描述

我们将**ルルルタタ型数列**(“RU RURURUTATA 型数列”)定义为:存在**非空**数列 $r, t$,使得该数列可以表示为 $r+r+r+t+t$ 的形式。 给定一个长度为 $N$ 的正整数序列 $A=(A_1,A_2,\dots,A_N)$。接下来将会有 $Q$ 个查询,请按顺序依次处理这些查询。 每个查询给出整数 $L, R$,请判断在 $A$ 的连续子区间 $(A_L,A_{L+1},\dots,A_{R})$ 中,是否存在一个**ルルルタタ型数列**。

输入格式

> $N$ $A_1$ $A_2$ $\dots$ $A_N$ $Q$ > $\text{query}_1$ > $\text{query}_2$ > $\vdots$ > $\text{query}_Q$ 每个查询的格式为: > $L$ $R$

输出格式

请输出 $Q$ 行。 对于第 $i$ 个查询,如果存在**ルルルタタ型数列**,则输出 `Yes`,否则输出 `No`。

说明/提示

### 样例解释 1 对于第 $1$ 个查询,$(S_1,S_2,S_3,S_4,S_5)=(3,3,3,2,2)$ 即是一个**ルルルタタ型数列**,令 $r=(3), t=(2)$ 满足条件。 对于第 $2$ 个查询,在 $(S_4,S_5,\dots,S_{12})$ 这一连续子区间中,$(S_4,S_5,\dots,S_{10})=(2,2,2,4,3,4,3)$ 是一个**ルルルタタ型数列**,令 $r=(2), t=(4,3)$ 满足条件。 对于第 $3$ 个查询,$(3,3,2,2,2)$ 不是**ルルルタタ型数列**,而且显然不包含更短的**ルルルタタ型数列**。 对于第 $4$ 个查询,需要注意 $(3,3,3,2,2)$ 不是连续子区间。 对于第 $5$ 个查询,也允许 $r=t$ 的情况。 ### 数据范围 - $1\leq N\leq 5\times 10^5$ - $1\leq A_i\leq N$ $(1\leq i\leq N)$ - $1\leq Q\leq 5\times 10^5$ - $1\leq L\leq R\leq N$ - 所有输入均为整数。 由 ChatGPT 5 翻译