考120分钟,有30道选择题(25单选,5多选),2道编程。
第一题:最大的乘积
题目描述
给定四个正整数a,b,c,d, 你可以进行若干次操作,每次操作可以从a,b,c,d中选择一个,然后令这个数加1,求操作后这四个正整数的乘积 a*b*c*d 的最大值。
输入描述
输入包含多组测试数据。
输入第一行包含一个正整数T(1≤T≤100),表示测试数据的数量。
接下来T行,每行四个正整数,包含a,b,c,d(1≤a,b,c,d≤20)四个数。
输出描述
对于每组测试数据输出一行一个整数,表示操作后这四个正整数的乘积 a*b*c*d 的最大值。
样例输入
2
1 2 3 4
1 2 1 3
样例输出
72
24
第二题:最大子段和
#笔试##算法##秋招#题目描述
输入一个长度为n的整数序列a1,a2,...,an,你的任务是找出连续的不大于子段,子段是指原序列中的连续一段,这两个子段不能有重复部分,且他们之间相隔必须大于等于k,同时,选择子段[1,5]和[8,10]是k=2的合法,但是k=3时就不合法了。
你需要最大化你选择的这两个子段的整数之和,请求出这个最大值。
输入描述
第一行输入一个正整数T,表示数据组数。
对于每一组数据,第一行输入两个数n,k。第二行输入n个整数a1,a2,...an。
1≤n≤10^4,0≤k≤n-2,1≤T≤5
输出描述
对于每一组数据,输出一个整数,表示答案。
样例输入
3
5 3
-1 1 2 3 -1
8 3
5 5 -1 -2 3 -1 2 -2
6 0
5 -1 5 0 -1 9
样例输出
-2
12
18