时空限制
1S/512M
题目描述
给定三个数组 a,b,c,它们的长度分别为 na,nb,nc,另外给定一个非负整数 d。
请你求出有多少个三元组 (i,j,k) 满足以下两个条件:
- ai≤bj≤ck
- ck−ai≤d
这里 1≤i≤na,1≤j≤nb,1≤k≤nc。
格式
输入格式
第一行包含四个整数 na,nb,nc,d,分别表示数组 a,b,c 的长度以及给定的数 d。
第二行包含 na 个整数 a1,a2,…,ana,表示数组 a 的值。
第三行包含 nb 个整数 b1,b2,…,bnb,表示数组 b 的值。
第四行包含 nc 个整数 c1,c2,…,cnc,表示数组 c 的值。
输出格式
输出一行一个整数,表示满足条件的三元组 (i,j,k) 的数量。
样例
样例输入 #1
2 2 2 2
1 2
2 3
3 4
样例输出 #1
6
样例解释 #1
在这个样例中,na=2,nb=2,nc=2,d=2。
我们需要寻找满足 ai≤bj≤ck 且 ck−ai≤2 的三元组 (i,j,k):
- (1,1,1):a1=1,b1=2,c1=3。满足 1≤2≤3,且 3−1=2≤2。
- (1,2,1):a1=1,b2=3,c1=3。满足 1≤3≤3,且 3−1=2≤2。
- (1,1,2):a1=1,b1=2,c2=4。满足 1≤2≤4,但 4−1=3>2,不满足。
- (1,2,2):a1=1,b2=3,c2=4。满足 1≤3≤4,但 4−1=3>2,不满足。
- (2,1,1):a2=2,b1=2,c1=3。满足 2≤2≤3,且 3−2=1≤2。
- (2,2,1):a2=2,b2=3,c1=3。满足 2≤3≤3,且 3−2=1≤2。
- (2,1,2):a2=2,b1=2,c2=4。满足 2≤2≤4,且 4−2=2≤2。
- (2,2,2):a2=2,b2=3,c2=4。满足 2≤3≤4,且 4−2=2≤2。
共有 6 个三元组满足条件,因此输出 6。
数据规模
注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。
| 子任务编号 |
分数 |
na,nb,nc≤ |
子任务依赖 |
| 1 |
40 |
200 |
无 |
| 2 |
60 |
2×105 |
1 |
对于 100% 的数据,1≤na,nb,nc≤2×105,0≤d≤109,1≤ai,bj,ck≤109。