Rudolf and the Ticket
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
Rudolf打算去拜访Bernard,他决定乘坐地铁去见他。车票可以在一台只接受两枚硬币的机器上购买,这两枚硬币的面值之和不超过k。
Rudolf有两个口袋,分别装有左口袋中面值为b1,b2,…,bn的n枚硬币,右口袋中面值为c1,c2,…,cm的m枚硬币。他想要从左口袋选一枚硬币,从右口袋选一枚硬币(总共两枚硬币)。
帮助Rudolf确定有多少种选择索引f和s的方式使得bf+cs≤k。
输入
第一行包含一个整数t(1≤t≤100)— 测试用例的数量。然后是每个测试用例的描述。
每个测试用例的第一行包含三个自然数n、m和k(1≤n,m≤100,1≤k≤2000)— 左口袋和右口袋中硬币的数量,以及在柜台上支付车票的两枚硬币的最大和。
每个测试用例的第二行包含n个整数bi(1≤bi≤1000)— 左口袋中硬币的面值。
每个测试用例的第三行包含m个整数ci(1≤ci≤1000)— 右口袋中硬币的面值。
输出
对于每个测试用例,输出一个整数 — Rudolf可以选择两枚硬币的方式数,从每个口袋中选一枚,使得硬币的和不超过k。
4
4 4 8
1 5 10 14
2 1 8 1
2 3 4
4 8
1 2 3
4 2 7
1 1 1 1
2 7
3 4 2000
1 1 1
1 1 1 1
6
0
4
12
注意
请注意,这里的配对表示数组中硬币的索引,而不是它们的面值。
在第一个测试用例中,Rudolf可以选择以下硬币配对:[1,1],[1,2],[1,4],[2,1],[2,2],[2,4]。
在第二个测试用例中,Rudolf无论如何都无法从每个口袋中选择一枚硬币,因为第一个数组和第二个数组中任意两个元素的和都会超过k=4的值。
在第三个测试用例中,Rudolf可以选择:[1,1],[2,1],[3,1],[4,1]。
在第四个测试用例中,Rudolf可以从左口袋和右口袋中选择任意一枚硬币。