解题思路:
注意事项:
参考代码:
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 人评分
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:651 |
C语言程序设计教程(第三版)课后习题1.5 (C++代码)浏览:1083 |
【偶数求和】 (C语言代码)浏览:557 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:655 |
C语言程序设计教程(第三版)课后习题8.6 (C语言代码)浏览:565 |
Hello, world! (C++代码)浏览:1744 |
DNA (C语言代码)浏览:540 |
1025题解浏览:736 |
数组与指针的问题浏览:716 |
川哥的吩咐 (C语言代码)浏览:611 |