#CF1437E. 使其递增

使其递增

使其递增

  • 时间限制:2 秒
  • 内存限制:512 MiB

题目描述

给定长度为 nn 的整数数组 aa,以及 kk 个互不相同的固定位置 b1,b2,…,bkb_1,b_2,\ldots,b_k。

一次操作可以选择一个不在固定位置集合中的下标 ii,把 aia_i 改成任意整数。求使数组严格递增所需的最少操作次数;若无法做到,输出 −1-1。

输入格式

第一行两个整数 n,kn,k。

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

若 k>0k>0,第三行包含严格递增的 kk 个整数 b1,b2,…,bkb_1,b_2,\ldots,b_k。

输出格式

若无法使数组严格递增,输出 −1-1;否则输出最少操作次数。

样例输入 1

7 2
1 2 1 1 3 5 1
3 5

样例输出 1

4

样例输入 2

3 3
1 3 2
1 2 3

样例输出 2

-1

样例输入 3

5 0
4 3 1 2 3

样例输出 3

2

样例输入 4

10 3
1 3 5 6 12 9 8 10 13 15
2 4 9

样例输出 4

3

数据范围

1≤n≤5×1051\le n\le 5\times 10^5,0≤k≤n0\le k\le n,1≤ai≤1091\le a_i\le 10^9,1≤b1<⋯<bk≤n1\le b_1<\cdots<b_k\le n。

子任务编号 分值 特殊限制
1 20 n≤22n\le 22
2 40 n≤2000n\le 2000
3 无特殊限制