1423 数列问题

Time Limit : 20000/10000 MS(Java/Others) | Memory Limit : 65536/32768 KB(Java/Others)

Submits : 6 | Solved : 0

Description

给定一个有N个整数组成的数列,有M个关于次数列的询问:

1 x 找出长度大于等于X的连续子序列中Weight值最大的序列,输出Weight值

2 x 找出所有Weight值大于等于x的连续子序列中长度最小的,输出长度值。

  在这里,一个连续子序列的Weight值是这么计算的:Weight(seq) = Length(seq) * Minimum Value(seq)

Input

第一行输入一个T,代表一共有T组测试数据。 每组数据第一行输入两个正整数,N和M 第二行输入N个数,每个数的范围都是INT范围内的。 接下来的M行,每行都包含了一个上述的询问。(N,M <=100,000 ;T<=15)


Output

对于每组数据的每个询问,输出答案。没有答案输出-1.

Sample Input

1
2 2
1 2
1 2
2 1

Sample Output

2
1

HINT

其实都是极限数据。。

Source

The 9th NBU Programming Contest

[ Top ] | [ Submit ]