import sys if __name__ == "__main__":     n, m = map(int, sys.stdin.readline().strip().split(' '))     A = list(map(int, sys.stdin.readline().strip().split(' ')))     B = list(map(int, sys.stdin.readline().strip().split(' ')))     hb = max(B)     lb = min(B)     A = sorted(A)     # max = -10000000001     # smax = -10000000000     # min = 10000000000     # lmin = 10000000001     # for i in range(n):     #     if A[i] > smax:     #         if A[i] > max:     #             smax = max     #             max = A[i]     #         else:     #             smax = A[i]     #     if A[i] < lmin:     #         if A[i] < min:     #             lmin = min     #             min = A[i]     #         else:     #             lmin = A[i]     x = 0     if hb <= 0 and A[1] >= 0:         x = A[1] * hb     elif lb >= 0 and A[-2] <= 0:         x = lb * A[-2]     else:         x = max(A[1] * min(B), A[-2] * max(B))     print(x) 柠檬题。遍历A,获取A的二大二小,然后和B的最大最小比较。如果A的二大<0且B的最小>0,那就是A二大*B最小;反之如果A的二小>0且B的最大<0,那就是A的二小*B最大;其他情况都是在A二大*B最大和A二小*B最小去其中最小值。
点赞 1

相关推荐

牛客网
牛客企业服务