时间限制:1.0 s 内存限制:128.0 MB
你要和田忌赛马。你们各自有N匹马,并且要进行N轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。 你的马匹的速度分别为$u_1,u_2,\dots,u_N$,田忌的马匹的速度分别为$v_1,v_2,\dots,v_N$。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。
第一行一个整数N。保证$1 \le N \le 5 \times 10^4$。 接下来一行N个用空格隔开的整数,依次为$u_1,u_2,\dots,u_N$,表示你的马匹们的速度。保证$1 \le u_i \le 2N$。 接下来一行N个用空格隔开的整数,依次为$v_1,v_2,\dots,v_N$,表示田忌的马匹们的速度。保证$1 \le v_i \le 2N$。
输出一行,表示你最多能获胜几轮。
在常规程序中,输入、输出时提供提示是好习惯。但在本场考试中,由于系统限定,请不要在输入、输出中附带任何提示信息。
3
1 3 5
2 4 6
2
第 1 轮,田忌派出速度为2的马匹,你可以派出速度为3的马匹迎战,本轮你获胜。 第 2 轮,田忌派出速度为4的马匹,你可以派出速度为5的马匹迎战,本轮你获胜。 第 3 轮,田忌派出速度为6的马匹,你可以派出速度为1的马匹迎战,本轮田忌获胜。 如此,你可以赢得 2 轮比赛。
5
10 3 5 8 7
4 6 1 2 9
5