CF1887D.Split

省选/NOI-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

我们称一个数组 b1,b2,…,bmb_1, b_2, \ldots, b_m(m≥2m \ge 2)是“好”的,如果它可以被分成两部分,使得左部分的所有元素都严格小于右部分的所有元素。换句话说,存在一个下标 1≤i<m1 \le i < m,使得 b1,…,bib_1, \ldots, b_i 中的每个元素都严格小于 bi+1,…,bmb_{i+1}, \ldots, b_m 中的每个元素。

给定一个由 11 到 nn 的 nn 个互不相同的整数构成的数组 a1,a2,…,ana_1, a_2, \ldots, a_n。有 qq 个询问,每个询问包含两个数 ll 和 rr。对于每个询问,判断子数组 al,al+1,…,ara_l, a_{l+1}, \ldots, a_r 是否是“好”的。

输入格式

第一行包含一个整数 nn(2≤n≤3⋅1052 \le n \le 3 \cdot 10^5)——数组的大小。

第二行包含 nn 个互不相同的整数 a1,a2,…,ana_1, a_2, \ldots, a_n(1≤ai≤n1 \le a_i \le n)——数组 aa 的元素。

第三行包含一个整数 qq(1≤q≤3⋅1051 \le q \le 3 \cdot 10^5)——询问的数量。

接下来的 qq 行,每行包含两个整数 lil_i 和 rir_i(1≤li<ri≤n1 \le l_i < r_i \le n)——第 ii 个询问的描述。

输出格式

对于每个询问,如果子数组 al,al+1,…,ara_l, a_{l+1}, \ldots, a_r 是“好”的,输出 "Yes"(不带引号),否则输出 "No"(不带引号)。

你可以用任意大小写输出 "Yes" 和 "No"(例如 "yEs"、"yes"、"Yes"、"YES" 都会被识别为正答)。

输入输出样例

  • 输入#1

    5
    3 2 1 4 5
    5
    1 5
    1 3
    1 4
    1 2
    2 5

    输出#1

    Yes
    No
    Yes
    No
    Yes
  • 输入#2

    6
    1 6 2 4 3 5
    3
    3 5
    2 6
    4 6

    输出#2

    Yes
    No
    Yes

说明/提示

在第一个样例中:

  • 数组 [3,2,1,4,5][3,2,1,4,5] 可以分成两部分:[3,2,1][3,2,1] 和 [4,5][4,5]。
  • 数组 [3,2,1][3,2,1] 不能分成两部分使得左部分所有元素都小于右部分所有元素。
  • 数组 [3,2,1,4][3,2,1,4] 可以分成两部分:[3,2,1][3,2,1] 和 [4][4]。
  • 数组 [3,2][3,2] 不能分成两部分使得左部分所有元素都小于右部分所有元素。
  • 数组 [2,1,4,5][2,1,4,5] 可以分成两部分:[2,1][2,1] 和 [4,5][4,5]。

在第二个样例中:

  • 数组 [2,4,3][2,4,3] 可以分成两部分:[2][2] 和 [4,3][4,3]。
  • 数组 [6,2,4,3,5][6,2,4,3,5] 不能分成两部分使得左部分所有元素都小于右部分所有元素。
  • 数组 [4,3,5][4,3,5] 可以分成两部分:[4,3][4,3] 和 [5][5]。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页