题目描述
一个长度为 n 的序列 a,设其排过序之后为 b,其中位数定义为 bn/2,其中 a,b 从 0 开始标号,除法取下整。
给你一个长度为 n 的序列 s。
回答 Q 个这样的询问:s 的左端点在 [a,b] 之间,右端点在 [c,d] 之间的子区间中,最大的中位数。
其中 a<b<c<d。
位置也从 0 开始标号。
我会使用一些方式强制你在线。
输入格式
第一行序列长度 n。
接下来 n 行按顺序给出 a 中的数。
接下来一行 Q。
然后 Q 行每行 a,b,c,d,我们令上个询问的答案是 x(如果这是第一个询问则 x=0)。
令数组 q={(a+x)modn,(b+x)modn,(c+x)modn,(d+x)modn}。
将 q 从小到大排序之后,令真正的要询问的 a=q0,b=q1,c=q2,d=q3。
输入保证满足条件。
输出格式
Q 行依次给出询问的答案。
提示
对于 5% 的数据, n,Q≤100。
对于另 25% 的数据, n≤2000。
对于 100% 的数据, n≤20000,Q≤25000。