A22517.middle

省选/NOI-

官方

通过率:0%

时间限制:2.00s

内存限制:512MB

题目描述

一个长度为 nn 的序列 aa,设其排过序之后为 bb,其中位数定义为 bn/2b_{n/2},其中 a,ba,b00 开始标号,除法下取整。

给你一个长度为 nn 的序列 ss

回答 QQ 个这样的询问:ss 的左端点在 [a,b][a,b] 之间,右端点在 [c,d][c,d] 之间的子区间中,最大的中位数。

其中 a<b<c<da<b<c<d

位置也从 00 开始标号。

我会使用一些方式强制你在线。

输入格式

第一行序列长度 nn

接下来 nn 行按顺序给出 aa 中的数。

接下来一行 QQ

然后 QQ 行每行 a,b,c,da,b,c,d,我们令上个询问的答案是 xx(如果这是第一个询问则 x=0x=0)。

令数组 q={(a+x)modn,(b+x)modn,(c+x)modn,(d+x)modn}q=\{(a+x)\bmod n,(b+x)\bmod n,(c+x)\bmod n,(d+x)\bmod n\}

qq 从小到大排序之后,令真正的要询问的 a=q0a=q_0b=q1b=q_1c=q2c=q_2d=q3d=q_3

输入保证满足条件。

输出格式

QQ 行依次给出询问的答案。

输入输出样例

  • 输入#1

    5
    170337785
    271451044
    22430280
    969056313
    206452321
    3
    3 1 0 2
    2 3 1 4
    3 1 4 0

    输出#1

    271451044
    271451044
    969056313

说明/提示

1n200001\leq n \leq 200001Q250001\leq Q \leq 250001ai1091\leq a_i\leq 10 ^ 9

首页