#GESPC620240302. GESP-2024年3月份 C++六级 编程题2 好斗的牛

GESP-2024年3月份 C++六级 编程题2 好斗的牛

题面描述

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

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

输入描述

第⼀行1个正整数NN。 接下来一行NN个用空格隔开的正整数 a1,...,aNa_1,...,a_N。 接下来一行NN个用空格隔开的正整数 b1,...,bNb_1,...,b_N

输出描述

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

#特别提醒 在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。

样例

输入样例 #1

2
1 2
1 2

输出样例 #1

4

样例解释 #1

你可以留下44个牛棚,并如此安排你的牛: image

输入样例 #2

3
1 2 3
3 2 1

输出样例 #2

7

数据规模

对于20的测试点,保证N=2N = 2; 对于另外20的测试点,保证N=3N = 3; 对于80的测试点,保证n8 n \le 8 对于所有测试点,保证N9,ai,bi1000 N \le 9,a_i,b_i \le 1000