该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
时间限制: 2s
空间限制: 1024MB
Cuber QQ 现在有一个长度为 n 的序列 a1,a2,⋯,an,他要求你处理他给出的 m 次询问,每一次询问都给出两个整数 x 和 y,要求你找到一个 i,将他给出的序列分成两部分 a1,a2,⋯,ai 和 ai+1,ai+2,⋯,an 使得在 a1,a2,⋯,ai 中 x 出现的次数 xˉ 和在 ai+1,ai+2,⋯,an 中 y 出现的次数 yˉ 的乘积 xˉ×yˉ 最大。
输入格式
第一行包含两个正整数 n,m (1≤n,m≤105)。
第二行 n 个正整数 a1,a2,⋯,an (1≤ai≤109)。
接下来 m 行,每行两个数 x,y (1≤x,y≤109),表示一次询问。
输出格式
对于每一个询问输出一行,一共 m 行,表示答案。
样例 1
输入
5 2
1 2 3 2 1
1 2
2 2
输出
2
1
样例解释
两个查询的答案分别为:
- 分割序列为 1 和 2,3,2,1,则 xˉ=1,yˉ=2;
- 分割序列为 1,2 和 3,2,1,则 xˉ=1,yˉ=1。
样例 2
见下发文件 occurrences2.in/out.
数据范围
| 编号 |
额外限制 |
分值 |
| 1 |
n,m≤100 |
20 |
| 2 |
n,m≤5000 |
30 |
| 3 |
无 |
50 |