#HX3204. 最长不下降子序列题十一:饥饿的牛

提交4 通过1
通过率25%
时间限制2000ms
内存限制256MiB

题目描述

题目描述

牛在饲料槽前排好了队。饲料槽依次用 1 到 N(1 ≤ N ≤ 2000)编号。每天晚上,一头幸运的牛根据约翰的规则,吃其中一些槽里的饲料。

约翰提供 B 个区间的清单。一个区间是一对整数 start-end(1 ≤ start ≤ end ≤ N),表示一些连续的饲料槽,比如 1-3, 7-8, 3-4 等等。牛可以任意选择区间,但是牛选择的区间不能有重叠。

当然,牛希望自己能够吃得越多越好。给出一些区间,帮助这只牛找一些区间,使它能吃到最多的东西。在上面的例子中,1-3 和 3-4 是重叠的;聪明的牛选择 {1-3,7-8},这样可以吃到 5 个槽里的东西。

输入格式

第一行,整数 B(1 ≤ B ≤ 1000)。

第 2 到 B+1 行,每行两个整数,表示一个区间,较小的端点在前面。

输出格式

仅一个整数,表示最多能吃到多少个槽里的食物。

输入样例 #1

3
1 3
7 8
3 4

输出样例 #1

5

输入样例 #2

5
1 2
2 3
3 5
6 9
7 10

输出样例 #2

9

输入样例 #3

1
1106 1654

输出样例 #3

549

数据范围与约定

1 ≤ N ≤ 2000;1 ≤ B ≤ 1000;1 ≤ start ≤ end ≤ N。