#GESP6006. 好斗的牛

好斗的牛

题目背景

2024 年 3 月 GESP C++ 六级编程第 2 题

题目描述

你有 10910^{9} 个牛棚,从左到右一字排开。你希望把 NN 头牛安置到牛棚里。麻烦的是,你的牛很好斗,如果他们附近有其他的牛,他们就会不安分地去挑事。其中,第 ii 头牛的攻击范围是 ( ai,bia_{i}, b_{i} ),这意味着,如果他的左边 aia_{i} 个牛棚或右边 bib_{i} 个牛棚里有其他牛,他就会去挑事。

你想留下连续的一段牛棚,并把其他牛棚都卖掉。请问你最少需要留下多少牛棚,才能保证至少存在一种方案能够把所有的 NN 头牛都安置进剩余的牛棚里,且没有牛会挑事?

输入格式

第一行 1 个正整数 NN

接下来一行 NN 个用空格隔开的正整数 a1,...,aNa_{1},..., a_{N}

接下来一行 NN 个用空格隔开的正整数 b1,...,bNb_{1},..., b_{N}

输出格式

输出一行一个整数,表示你最少需要留下多少牛棚。

样例 #1

样例输入 #1

2
1 2
1 2

样例输出 #1

4

样例 #2

样例输入 #2

3
1 2 3
3 2 1

样例输出 #2

7

提示

数据范围

对于 20%20 \% 的测试点,保证 N=2N = 2

对于 40%40 \% 的测试点,保证 N=3N = 3

对于 80%80 \% 的测试点,保证 N8N \leq 8

对于所有的测试点,保证 N9ai,bi1000N \leq 9,a_{i}, b_{i} \leq 1000 ​。