Public Judge

pjudge

Time Limit: 4 s Memory Limit: 2048 MB Total points: 100 Hackable ✓
[+25]

# 21860. 【NOIP Round #7】冒泡排序

Statistics

定义冒泡排序的过程为:

对于一个长为 n 的序列 a1,,an,进行 n1 轮“冒泡”操作,每次“冒泡”操作中进行以下操作:

  • 如果 a1>a2 则交换 a1,a2
  • 如果 a2>a3 则交换 a2,a3
  • 如果 an1>an 则交换 an1,an

进行一轮“冒泡”操作的伪代码如下:

for i = 1 to n-1:
  if a[i] > a[i + 1]:
    swap(a[i], a[i + 1])

给定一个数组 b1,b2,,bn

每次询问 (l,r,k,x,y),小 C 截取了 b 数组的子区间 [l,r],得到一个新的 a 数组 [a1,,arl+1]=[bl,,br],并对 a 数组进行了 k 次“冒泡”操作。

你需要求出在 k 次“冒泡”操作后,yi=xai 的值。

输入格式

第一行一个整数 id 表示子任务编号。特别的,对于样例输入 1,有 id=0

第二行两个整数 n,q

接下来一行 n 个整数 b1,,bn

接下来 q 行每行 5 个整数 l,r,k,x,y

输出格式

输出 q 行,每行一个整数表示答案。

输入输出样例

样例输入 1

0
4 2
1 3 4 2
2 4 1 2 2
1 4 2 3 4

样例输出 1

2
7

其余样例

下发文件中共有 8 个样例,分别来自 8 个子任务。

数据范围

对于所有数据:

  • 1n1061q5×105
  • 0bi1091l<rn1krl1xyrl+1
子任务编号 n,q 范围 特殊性质 分值
1 n10,q5000 8
2 n2×105,q5 14
3 n,q2×105 x=1,y=rl+1k 10
4 n,q2×105 l=1,r=n 12
5 n,q2×105 k10 14
6 n,q2×105 ai10 16
7 n,q2×105 16
8 n106,q5×105 10