晚风


私信TA

用户名:uq_24611172404

访问量:2111

签 名:

等  级
排  名 5192
经  验 1516
参赛次数 0
文章发表 35
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

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()

c.sort()

cnt=0

for i in range(1,n+1):

    t=b[i]#以b列表作为中间值

    l=1

    r=n

    while l<r:#找到a[i]小于b[i]的值且值刚好又是小于b[i]中a[i]最大的值

        mid=(l+r+1)>>1

        if a[mid]<t:l=mid

        else:r=mid-1

    if a[l]>=t:continue

    else:x1=l

    l=1

    r=n

    while l<r:#找到第一个c[i]大于b[i]的值

        mid=(l+r)>>1

        if c[mid]>t:r=mid

        else:l=mid+1

    if c[l]<=t:continue

    else:cnt+=(n-l+1)*x1

print(cnt)


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区