解题思路:
注意事项:
参考代码:
n=int(input())
a=[0]+list(map(int,input().split()))
b=[0]+list(map(int,input().split()))
c=[0]+list(map(int,input().split()))
a.sort()
b.sort()
c.sort()
cnt=0
for i in range(1,n+1):
t=a[i]
l=1
r=n
while l<r:#找到b中第一个大于a[i]的数
mid=(l+r)>>1
if b[mid]>t:r=mid
else:l=mid+1
if b[l]<=t:#找不到这样的数,更别说后面的a[i]了
break
else:
x=l
for j in range(x,n+1):
p=b[j]
l=1
r=n
while l<r:#找到c中第一个大于b[l]的数
mid=(l+r)>>1
if c[mid]>p:r=mid
else:l=mid+1
if c[l]<=p:#找不到这样的数,更别说后面的b[j]了
break
else:
cnt+=n-l+1
print(cnt)
0.0分
0 人评分
WU-整数平均值 (C++代码)浏览:1307 |
WU-小九九 (C++代码)浏览:1713 |
蚂蚁感冒 (C语言代码)浏览:816 |
川哥的吩咐 (C语言代码)浏览:663 |
C语言程序设计教程(第三版)课后习题10.7 (用指针求解)浏览:1542 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:639 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:1390 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:622 |
P1025 (C语言代码)浏览:1061 |
纪念品分组 (C语言代码)浏览:897 |