题目描述
给定一个长度为 n 的数列 a1,a2,…,an 和一个长度为 m 的数列 b1,b2,…,bm。
你需要构造一个包含 n×m 个数的二维数列 c,其中 ci,j=ai×bj。
你需要求出二维数列 c 中从小到大排序后第 k 个元素的数值。
输入格式
第一行,三个整数 n,m,k(1≤n,m≤105,1≤k≤n×m)。
第二行,n 个整数 a1,a2,…,an(−109≤ai≤109)。
第三行,m 个整数 b1,b2,…,bm(−109≤bi≤109)。
输出格式
输出一个整数,表示二维数列 c 中从小到大排序后第 k 个元素的数值。
样例
2 3 4
2 5
3 1 5
10
说明/提示
样例解释
二位数列 c 对应的每个元素为:
6,2,10
15,5,25
将这些数从小到大排序后为 2,5,6,10,15,25,其中第 4 个数为 10。
数据规模与约定
- 对于 20% 的数据,n,m≤1000;0≤ai,bi≤103
- 对于 50% 的数据,n,m≤104;0≤ai,bi≤106
- 对于 100% 的数据,1≤n,m≤105;−109≤ai,bi≤109;1≤k≤n×m
注意:对于 100% 的数据,ai,bi 可能是负数。