#P1026. 替换

替换

C - 替换

题目背景

So are you gonna die today or make it out alive

You gotta conquer the monster in your head and then you'll fly

Fly Phoenix fly

It's time for a new empire

Go bury your demons then tear down the ceiling

Phoenix fly

题目描述

给定一个长度为 nn 的序列 aa 以及一个长度为 mm 的序列 bb

定义一次操作过程如下:

  1. 选择集合 S{1,2,,n}S\subseteq \{1,2,\dots,n\}

  2. 对于 xSx\in Sax:=baxa_x:=b_{a_x}

你想知道最少多少次操作才能使 aa 形成单调不降的序列,即对于 1i<n1\le i<naiai+1a_i\le a_{i+1}

输入格式

第一行一个整数 n,mn,m ,分别代表序列 a,ba,b 的长度。

第二行 nn 个整数,代表序列 aa

第三行 mm 个整数,代表序列 bb

输出格式

输出一行一个整数,代表问题的答案。若无解输出 1-1

样例

样例输入

5 8
1 6 3 7 1
2 3 5 8 7 1 5 6

样例输出

3

数据范围

对于所有数据,1n,m106,1ai,bim1\le n,m\le 10^6,1\le a_i,b_i\le m

子任务 1 ( 20% ) : 1n,m10001\le n,m\le 1000

子任务 2 ( 10% ) :对于 2im2\le i\le mbi=i1b_i=i-1

子任务 3 ( 10% ) :对于 2im2\le i\le m , bi=1b_i=1

子任务 4 ( 20% ) :对于任意 1xm1\le x\le m ,若不断令 x:=bxx:=b_x ,最后一定会使 xxbxb_x 相等。

子任务 5 ( 20% ) :1n,m31051\le n,m\le 3*10^5

子任务 6 ( 20% ) : 无特殊限制。