middle
给定一个长度为 的序列。对于任意长度为 的序列,将其元素按从小到大的顺序排序,得到下标从 开始的序列 ,则其中位数定义为 。
现给定一个长度为 的序列 ,下标从 开始。你需要回答 次询问。每次询问给定 ,满足 。你可以在区间 中选择子序列的左端点,并在区间 中选择子序列的右端点。求所有满足条件的连续子序列中,中位数的最大值。
为了强制在线处理,输入中的询问需要根据上一次询问的答案进行解码,具体方式见输入格式。
输入格式
第一行包含一个整数 ,表示序列长度。
接下来 行,每行包含一个整数,按顺序给出序列 中的元素。
接下来一行包含一个整数 ,表示询问次数。
随后 行,每行包含四个整数 。设上一次询问的答案为 ;如果当前询问是第一次询问,则令 。
构造数组:
将 从小到大排序后,当前询问真正的参数为:
输入保证解码后的参数满足 。
输出格式
输出 行,第 行包含第 次询问的答案。
样例输入
5
170337785
271451044
22430280
969056313
206452321
3
3 1 0 2
2 3 1 4
3 1 4 0
样例输出
271451044
271451044
969056313
数据范围
- ;
- 。
来源与许可
本题题面与测试数据整理自 BZOJ 2653。
样例 1
输入
5
170337785
271451044
22430280
969056313
206452321
3
3 1 0 2
2 3 1 4
3 1 4 0
输出
271451044
271451044
969056313