#CF809D. 波罗的海搭便车

波罗的海搭便车

波罗的海搭便车

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

Leha 和 Noora 计划依次经过 nn 个城市。第 ii 个城市的景点只在第 lil_i 天到第 rir_i 天开放,两个端点都包含在内。

可以为每个城市 ii 任选一个整数日期 xi∈[li,ri]x_i\in[l_i,r_i]。随后,从城市序列中选择一个下标严格递增的子序列 id1,id2,…,idkid_1,id_2,\ldots,id_k,并要求相应日期也严格递增:

xid1<xid2<⋯<xidk.x_{id_1}<x_{id_2}<\cdots<x_{id_k}.

求最多能够选择多少个城市。旅行可以从任意日期开始。

输入格式

第一行包含一个整数 nn,表示城市数量。

接下来 nn 行,每行包含两个整数 li,ril_i,r_i,表示第 ii 个城市景点的开放日期区间。

输出格式

输出一个整数,表示最多能够选择的城市数量。

样例输入

5
6 6
1 2
3 4
2 2
1 4

样例输出

3

样例说明

可以在第 11 天访问城市 22,第 33 天访问城市 33,第 44 天访问城市 55,共访问三个城市。

数据范围

对于所有数据:

  • 1≤n≤3×1051\le n\le 3\times 10^5;
  • 1≤li≤ri≤1091\le l_i\le r_i\le 10^9。
子任务编号 分值 特殊限制
1 20 n≤20n\le 20
2 40 n≤5000n\le 5000
3 无特殊限制