#G423122. [GESP202312 四级 C++] 27. 田忌赛马

提交3 通过2
通过率66.7%
时间限制1000ms
内存限制512MiB
    ID: 211 传统题 1000ms 512MiB 尝试: 3 已通过: 2 难度: 普及- 上传者: 标签>编程题c++双指针 two-pointer排序贪心结构体和排序算法

题目描述

题目描述

你要和田忌赛马。你们各自有 NN 匹马,并且要进行 NN 轮比赛,每轮比赛,你们都要各派出一匹马决出胜负。

你的马匹的速度分别为 u1,u2,,unu_1,u_2,\cdots,u_n,田忌的马匹的速度分别为 v1,v2,,vnv_1,v_2,\cdots,v_n。田忌会按顺序派出他的马匹,请问你要如何排兵布阵,才能赢得最多轮次的比赛?巧合的是,你和田忌的所有马匹的速度两两不同,因此不可能出现平局。

输入格式

第一行一个整数 NN。保证 1N5×1041\le N \le 5\times 10^4

接下来一行 NN 个用空格隔开的整数,依次为 u1,u2,,unu_1,u_2,\cdots,u_n,表示你的马匹们的速度。保证 1ui2N1\le u_i\le 2N

接下来一行 NN 个用空格隔开的整数,依次为 v1,v2,,vnv_1,v_2,\cdots,v_n,表示田忌的马匹们的速度。保证 1vi2N1\le v_i\le 2N

输出格式

输出一行,表示你最多能获胜几轮。

输入样例 #1

3
1 3 5
2 4 6

输出样例 #1

2

输入样例 #2

5
10 3 5 8 7
4 6 1 2 9

输出样例 #2

5

输入样例 #3

1
2
1

输出样例 #3

1

数据范围

保证 1N5×1041\le N \le 5\times 10^4

保证 1ui2N1\le u_i\le 2N

保证 1vi2N1\le v_i\le 2N