A. Rudolf and the Ticket

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Rudolf is going to visit Bernard, and he decided to take the metro to get to him. The ticket can be purchased at a machine that accepts exactly two coins, the sum of which does not exceed k�.

Rudolf has two pockets with coins. In the left pocket, there are n� coins with denominations b1,b2,...,bn�1,�2,...,��. In the right pocket, there are m� coins with denominations c1,c2,...,cm�1,�2,...,��. He wants to choose exactly one coin from the left pocket and exactly one coin from the right pocket (two coins in total).

Help Rudolf determine how many ways there are to select indices f� and s� such that bf+cs≤k��+��≤�.

Input

The first line contains an integer t� (1≤t≤1001≤�≤100) --- the number of test cases. Then follows the description of each test case.

The first line of each test case contains three natural numbers n�, m�, and k� (1≤n,m≤100,1≤k≤20001≤�,�≤100,1≤�≤2000) --- the number of coins in the left and right pockets, and the maximum sum of two coins for the ticket payment at the counter, respectively.

The second line of each test case contains n� integers bi�� (1≤bi≤10001≤��≤1000) --- the denominations of coins in the left pocket.

The third line of each test case contains m� integers ci�� (1≤ci≤10001≤��≤1000) --- the denominations of coins in the right pocket.

Output

For each testcase, output a single integer --- the number of ways Rudolf can select two coins, taking one from each pocket, so that the sum of the coins does not exceed k�.

Example

input

Copy

复制代码

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

output

Copy

复制代码
6
0
4
12

Note

Note that the pairs indicate the indices of the coins in the array, not their denominations.

In the first test case, Rudolf can choose the following pairs of coins: 1,1,1,2,1,4,2,1,2,2,2,41,1,1,2,1,4,2,1,2,2,2,4.

In the second test case, Rudolf cannot choose one coin from each pocket in any way, as the sum of any two elements from the first and second arrays will exceed the value of k=4�=4.

In the third test case, Rudolf can choose: 1,1,2,1,3,1,4,11,1,2,1,3,1,4,1.

In the fourth test case, Rudolf can choose any coin from the left pocket and any coin from the right pocket.

解题说明:水题,两个数列每次取一个数相加,遍历判断是否小于k即可。

cpp 复制代码
#include<stdio.h>
int main() 
{
	int p;
	scanf("%d", &p);
	while (p--) 
	{
		int n, m, k, count = 0;
		scanf("%d%d%d", &n, &m, &k);
		int a[102], b[102];
		for (int i = 0; i < n; i++)
		{
			scanf("%d", &a[i]);
		}
		for (int i = 0; i < m; i++)
		{
			scanf("%d", &b[i]);
		}
		for (int i = 0; i < n; i++)
		{
			for (int j = 0; j < m; j++) 
			{
				if (a[i] + b[j] <= k)
				{
					count++;
				}
			}
		}
		printf("%d\n", count);
	}
	return 0;
}
相关推荐
绿算技术24 分钟前
大模型本地化的经济账:DeepSeek V4 Flash 部署实测
人工智能·科技·算法·spark
翟天保Steven36 分钟前
用于提升CBCT低对比度组织分辨率的三维图像后处理方法
算法·计算机视觉·图像重建·图像后处理
FII工业富联科技服务36 分钟前
GW级AI数据中心怎么建?Omniverse、CFD、液冷与BMS技术路径拆解
服务器·人工智能·算法·能源·制造
roman_日积跬步-终至千里1 小时前
【算法五】从斐波那契到动态规划:自顶向下、自底向上与状态压缩
算法·动态规划
wuyk5551 小时前
9.冒泡排序:像鱼缸泡泡一样的简单排序算法
开发语言·stm32·单片机·算法·排序算法
无限码力3 小时前
8.26华为OD机试真题 新系统【字符串回文判断】
算法·华为od·华为od机考·华为od机试·华为od上机考试真题·华为od最新机试真题题解·华为od机试真题题库
玖玥拾5 小时前
LeetCode 125 验证回文串
算法·leetcode
Asize12 小时前
146. LRU 缓存
算法
Asize12 小时前
543. 二叉树的直径
算法
lemon_sjdk12 小时前
ObjectProperty
java·开发语言·算法