腾讯笔试 技术研究

red_num,blue_num=input().split()
red_num=int(red_num)
blue_num=int(blue_num)
red_coor=list(map(int,input().split()))
blue_coor=list(map(int,input().split()))
q=int(input())
arr = []
while 1:
    s = input()
    if s != "":
        arr.append(list(map(int, s.split())))
    else:
        break
class1=0
class2=0
class3=0
for i in range(len(arr)):
    r=0
    b=0
    for j in range(len(red_coor)):
        if red_coor[j]>=arr[i][0] and red_coor[j]<=arr[i][1]:
            r=r+1
    for j in range(len(blue_coor)):
        if blue_coor[j]>=arr[i][0] and blue_coor[j]<=arr[i][1]:
            b=b+1
    if r>b:
        class1=class1+1
    if r==b:
        class2=class2+1
    if r<b:
        class3=class3+1
print(class1,class2,class3)
想问下第4题为啥只过了63%😭#腾讯笔试##笔试题目#
全部评论
有些数据时间超限了,用dp记录每一个坐标点左边红色点和蓝色点个数,就可以过。
1 回复 分享
发布于 2022-04-24 23:36

相关推荐

不愿透露姓名的神秘牛友
07-10 13:54
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务