#arc097b. [arc097_b]Equals
[arc097_b]Equals
题目描述
我们有一个由 到 的整数排列,,,..,。我们还有 对介于 和 之间(包括 和 )的两个整数,表示为 ,,..,。AtCoDeer 将对 执行以下操作,直到 的数量最大化,其中 ( ) 使得 :
- 选择 ,其中 ,并交换 和 。
找出经过操作后满足 的最大可能 的数量。
约束条件
- 是由 到 的整数排列。
- 如果 ,则 。
- 输入中的所有值均为整数。
输入
输入以以下格式从标准输入获得:
输出
打印经过操作后满足 的最大可能 的数量。
示例输入 1
5 2
5 3 1 4 2
1 3
5 4
示例输出 1
2
如果我们选择 执行操作, 变为 1 3 5 4 2
,这是最优的,所以答案是 。
示例输入 2
3 2
3 2 1
1 2
2 3
示例输出 2
3
如果我们按顺序选择 ,, 执行操作, 变为 1 2 3
,这显然是最优的。请注意,我们可以任意多次选择相同的 。
示例输入 3
10 8
5 3 6 8 7 10 9 1 2 4
3 1
4 1
5 9
2 5
6 5
3 5
8 9
7 9
示例输出 3
8
示例输入 4
5 1
1 2 3 4 5
1 5
示例输出 4
5
我们不必执行操作。