解题思路:
由于余数1000 只有1000个 所以我们可以创建余数列表 遍历前两个余数 控制第三个余数 输出最大值
注意事项:
参考代码:
n, k = map(int,input().strip().split()) r = [[0 for _ in range(3)] for i in range(k)] inputList = [int(temp) for temp in input().strip().split()] # inputList = [temp for temp in range(100000, 0, -1)] for i in range(n): index = inputList[i] % k if inputList[i] > r[index][0]: r[index].insert(0, inputList[i]) r[index].pop() elif inputList[i] > r[index][1]: r[index].insert(1, inputList[i]) r[index].pop() elif inputList[i] > r[index][0]: r[index].insert(2, inputList[i]) r[index].pop() maxValue = 0 for i in range(k): for j in range(i, k): temp = (k - i + k - j) % k v1 = r[i][0] if i == j: v2 = r[j][1] if i == temp: v3 = r[i][2] else: v3 = r[temp][0] else: v2 = r[j][0] if i == temp: v3 = r[i][1] elif j == temp: v3 = r[j][1] else: v3 = r[temp][0] if v1 + v2 + v3 > maxValue: maxValue = v1 + v2 + v3 print(maxValue)
0.0分
2 人评分
1051(奇了怪了)浏览:747 |
整除问题 (C语言代码)浏览:594 |
C语言程序设计教程(第三版)课后习题6.1 (C语言代码)浏览:532 |
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:852 |
C语言程序设计教程(第三版)课后习题10.1 (C++代码)浏览:529 |
剔除相关数 (C语言代码)浏览:1156 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:456 |
C语言训练-斐波纳契数列 (C语言代码)浏览:644 |
C语言程序设计教程(第三版)课后习题5.5 (C语言代码)浏览:455 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:622 |