Home => ProblemSet => 3.2-74:字符串题
Problem2083--3.2-74:字符串题

2083: 3.2-74:字符串题

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 0
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

给你一个字符串 a,每次询问一段区间的贡献。
贡献定义:每次从这个区间中拿出一个字符 x ,然后把 x 从这个区间中删除,直到区间为空。你要维护一个集合 S。
  • 如果 S 为空,你 rp 减 1。
  • 如果 S 中有一个元素不小于 x,则你 rp 减 1,清空 S。
  • 之后将 x 插入 S。
询问搞完这段区间的字符之后最多还有多少 rp?rp 初始为 0。
询问之间不互相影响~

Input

第一行两个整数 n,m,表示字符串长度与询问次数。
之后一行 n 个数,第 i 个整数表示给出的字符串的第 i 个字符 xi。
接下来 m 行,每行两个整数 l,r,表示一次询问的区间。

Output

对于每次询问,输出一行一个整数表示答案。

Sample Input Copy

3 3
3 3 3
3 3
3 3
3 3

Sample Output Copy

-1
-1
-1

HINT

数据规模与约定

  • 对于 10% 的数据,是样例。
  • 对于另外 10% 的数据,保证 n,m≤100;
  • 对于另外 10% 的数据,保证 n,m≤103
  • 对于另外 10% 的数据,保证 n,m≤104
  • 对于另外 10% 的数据,保证 n,m≤105
  • 对于 100% 的数据,1≤n,m≤2×105,1≤ai≤109,1≤l,r≤n。

Source/Category