题库首页 › 青少年软件编程(C语言) › 题目 15140

乘积的最大和 给定两组整数 A 和 B,你可以从 A 中任选一个整数,与 B 中任选的一个整数相乘。注意每个整数至多只能被选中 1 次。将这些乘积加起来,最大值能达到多少? 时间限制:10000 内存限制:65536 输入 输入第一行给出正整数 NA,为 A 组中整数的个数,随后一行给出 A 中的 NA 个整数;然后给出正整数 NB,为 B 组中整数的个数,随后一行给出 B 中的 NB 个整数。数据范围为 1 ≤ NA, NB ≤ 105,最大答案不超过 230。 输出 在一行中输出题面要求的乘积和的最大值。 样例输入 4 1 2 4 -1 4 7 6 -2 -3 样例输出 43 提示 样例解释: 43 = (-1)×(-3)+4×7+2×6

正确答案:参考程序(Python):na=int(input());A=list(map(int,input().split()));nb=int(input());B=list(map(int,input().split()));A.sort();B.sort();i=j=0;ai=na-1;bj=nb-1;s=0;while i<na and j<nb and A[i]<0 and B[j]<0:s+=A[i]*B[j];i+=1;j+=1;while ai>=0 and bj>=0 and A[ai]>0 a

试卷来源:202503 青少年等级考试C/C++真题五级

本卷相关题目

在线做题 同科目题库