AT_tenka1_2015_final_c 天下一不正

题目描述

为了在1998年的天河城程序员大赛的主战结束后举行的社交聚会的娱乐活动,Sawha-kun制作了Amidaduki。 然而,冈本先生暗中篡改了Amidaduku并决定操纵整个结果。 冈本先生可以添加尽可能多的横线,你想要Amidakuji为了获得所需的结果。 但是,如果您花费很长时间篡改,您可能会在Sawai中找到它。 因此我们决定提前计算最小数量。 然而,水平线不能穿越垂直线,多条水平线不能完全相同的高度,并且所有水平线都必须是水平的。

输入格式

``` $ W $ $ H $ $ a_0 $ $ a_1 $ $ a_2 $ ... $ a_{H-1} $ $ b_0 $ $ b_1 $ $ b_2 $ ... $ b_{W-1} $ ``` - W(3≤W≤7表示垂直线的数量,H(0≤H≤100,000)将会在第1行给出。 - 已经写入第n条水平线左侧的端点的垂直线的位置写入第二行a n(0 ≤ an≤ W−2) 第三行给出防篡改结果。 从左边开始 bm(0 ≤ bm≤ W − 1)米 Okamoto - kun是Okamoto - kun将从第m条垂直线的左边到第m条垂直线的低端连接到≤W-1)条垂直线的上端的愿望。 **输出** 输出一条线上篡改所需的最小数量。 在输出结尾放置换行符。 **评分标准** 针对这个问题设定了部分要点。 对于45%的数据(H≤100) 对于100%的数据(H≤105) 样例1 ``` 3 1 0 1 2 0       

输出示例1       
1 
       Sawaka制作的Amidakuji如下。 
       
0 1 2
| | |
+ - + |
| | |
| | |
1 0 2 
       

1 您可以通过添加本书的水平线来做篡改篡改Okamoto-kun的期望结果。       

0 1 2
| | |
+ - + |
| + - +
| | |
1 20
```

样例2
```
4 4
0 2 0 2
3 2 1 0 
       

输出示例2       
2 
       Sawaka制作的Amidakuji如下。 
       
0 1 2 3
| | | |
+ - + |
| + - +
+ - + |
| + - +
| | | |
0 1 2 3 
       

      

0 1 2 3
| | | |
+ - + |
| + - +
| + - + |
+ - + |
| + - +
| + - + |
| | | |
3 2 1 0
```
                            

输出格式

说明/提示

### 配点 この問題には部分点が設定されている。 - $ H\ \leq{}\ 100 $ を満たすテストケース全てに正解した場合は、$ 45 $ 点が与えられる。 - 全てのテストケースに正解した場合は、上記とは別に $ 105 $ 点が与えられる。 ### Sample Explanation 1 \### 出力例1 ``` ```
1
```

サワくんが作成したあみだくじは下記のようになります。

 ```

0 1 2
| | |
+-+ |
| | |
| | |
1 0 2
```

$ 1 $ 本の横線を書き足すことでオカモトくんの望む結果に改竄かいざんすることができます。

 ```

0 1 2
| | |
+-+ |
| +-+
| | |
1 2 0
```

Sample Explanation 2

### 出力例2 ```

2
```

サワくんが作成したあみだくじは下記のようになります。

 ```

0 1 2 3
| | | |
+-+ | |
| | +-+
+-+ | |
| | +-+
| | | |
0 1 2 3
```

$ 2 $ 本の横線を書き足すことでオカモトくんの望む結果に改竄かいざんすることができます。

 ```

0 1 2 3
| | | |
+-+ | |
| | +-+
| +-+ |
+-+ | |
| | +-+
| +-+ |
| | | |
3 2 1 0
```
```