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;
}
相关推荐
倒头就睡的小比特1 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!1 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼1 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光1 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark1 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her11 天前
并查集-听课笔记
笔记·算法·并查集
码流子1 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven1 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark1 天前
从算法设计模式看编程思维的抽象能力4
算法
2601_962218611 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法