U23100.流水线

普及/提高-

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

有一家工厂 AA,里面有一条“流水线”。是的,真的是有“流水”。这条流水线上有 nn 个产品,每个产品有一个“合格程度”,aia_i 代表第 ii 个产品的合格程度。当然,i[1,n]i \in [1,n]。一段产品的合格指数 SS 为这段产品里的合格程度最大的与最小的之差。
工厂 AA 的老板现在要视察工作,他想知道 qq 个区间的合格指数。哦对了,前面说过,这是一条流水线,所以流水线上的所有产品都会以每秒 kk 个单位长度的速度向右流去。第 00 秒时,第 ii 个产品处于位置 ii 上。现在,你作为新被提拔上来的人,自然是要回答老板的问题了。

输入格式

第一行是三个正整数 n,q,kn,q,k,分别表示产品的数量、老板的问题个数 1-1 以及流水的速度。
第二行是 nn 个正整数,第 ii 个数是 aia_i,代表第 ii 个产品的合格程度。
接下来 q1q-1 行,每行三个正整数 l,r,tl,r,tl,rl,r 表示老板想要知道的合格指数的位置的区间,而 tt 表示老板问问题的时间。

输出格式

q1q-1 行输出, 第 ii 行代表第 ii 个问题的答案。当然,i[1,q)i \in [1,q)

输入输出样例

  • 输入#1

    5 4 1
    1 4 2 -3 5
    1 4 0
    3 4 2
    100 104 99

    输出#1

    7
    3
    8

说明/提示

样例解释

对于询问 11,此时位置 11 ~ 44 的产品的合格程度为 1 4 2 31\ 4\ 2\ -3。该区间的合格指数为 4(3)=74-(-3)=7
对于询问 22,此时位置 33 ~ 44 的产品的合格程度为 1 41\ 4。该区间的合格指数为 41=34-1=3
对于询问 33,此时位置 100100 ~ 104104 的产品的合格程度为 1 4 2 3 51\ 4\ 2\ -3\ 5。该区间的合格指数为 5(3)=85-(-3)=8
故答案为 7 3 87\ 3\ 8


数据范围

对于 40%40\% 的数据,1n,q1031 \leq n,q \leq 10^3
对于 100%100\% 的数据,1n,q5×1051 \leq n,q \leq 5 \times 10^50k,t1070 \leq k,t \leq 10^7ai108|a_i| \leq 10^8l,rl,r 不会超出产品的位置的最大值与最小值。
请注意巨大的读入读出对程序所造成的影响。

首页