#229. 抽奖

抽奖

抽奖

题目描述

给出一个长度为 nn 的整数序列 a1,a2,…,ana_1,a_2,\dots,a_n,以及 QQ 次询问。

每次询问给出四个整数 l,r,p,ql,r,p,q。设整数 xx 在区间 al,al+1,…,ara_l,a_{l+1},\dots,a_r 中出现的次数为 cntxcnt_x。

如果存在整数 xx 满足

cntx>pq×(r−l+1),cnt_x > \frac{p}{q}\times (r-l+1),

就输出任意一个这样的 xx;如果不存在,输出 −1-1。

输入格式

第一行两个整数 n,Qn,Q。

第二行 nn 个整数 a1,a2,…,ana_1,a_2,\dots,a_n。

接下来 QQ 行,每行四个整数 l,r,p,ql,r,p,q,表示一次询问。

输出格式

共 QQ 行,每行一个整数:存在满足条件的 xx 则输出任意一个这样的 xx,否则输出 −1-1。

数据范围

  • 1≤n,Q≤1051 \le n,Q \le 10^5
  • 1≤ai≤1091 \le a_i \le 10^9
  • 1≤l≤r≤n1 \le l \le r \le n
  • 1≤p<q≤1091 \le p < q \le 10^9,且保证 pq≥110\frac{p}{q} \ge \frac{1}{10}

输入输出样例

样例 1

输入:

5 4
1 2 1 2 1
1 5 1 2
1 5 1 10
2 5 1 10
1 1 1 2

输出:

1
1
2
1

样例解释

  • 询问 [1,5][1,5],阈值 12\frac12:11 出现 33 次,3>2.53>2.5,输出 11;
  • 询问 [1,5][1,5],阈值 110\frac1{10}:11 出现 33 次,3>0.53>0.5,输出 11;
  • 询问 [2,5][2,5],阈值 110\frac1{10}:区间是 2,1,2,12,1,2,1,22 出现 22 次,2>0.42>0.4,输出 22;
  • 询问 [1,1][1,1],阈值 12\frac12:11 出现 11 次,1>0.51>0.5,输出 11。

说明/提示

  • 若有多组解,输出任意一组即可,本题使用特殊评测(Special Judge)。
  • 保证 pq≥110\frac pq \ge \frac{1}{10},也就是说,一旦有答案,它在区间内的出现次数就严格大于区间长度的 10%10\%。
  • 时间限制 22 秒,空间限制 256256 MB。