原题链接:https://ac.nowcoder.com/acm/contest/78292/F
时间限制:C/C++ 2秒,其他语言4秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
小苯有一个长度为 n 的数组 a,他定义一个数组是好数组,当且仅当该数组是一个回文数组,且长度严格大于 2。
他现在进行了 q 次询问,每次询问都给出一段区间 [l,r],他想知道 a 在这一段区间中是否存在一个子序列是一个好数组,请你帮帮他吧。
输入描述:
输入包含 q+2 行。 第一行两个正整数 n,q (1≤n≤10^5), (1≤q≤2×10^5),以空格分隔,分别表示小苯拥有的数组的长度,以及他的询问次数。 第二行n 个正整数 ai (1≤ai≤10^9),表示数组 a 的元素。 接下来 q 行,每行两个正整数 [l,r] (1≤l≤r≤n),以空格分隔,表示小苯每次询问的区间。
输出描述:
输出包含 q 行,如果对于当前询问的区间,存在一个好子序列是一个好数组,则输出 "YES",否则输出 "NO"。(不含双引号)