题目叙述
问题描述:略
输入格式:略
输出格式:略
样例
样例1输入
6
0 0 5 5 10 10
样例1输出
30
15
样例2输入
7
10 20 30 40 50 60 75
样例2输出
285
285
满分证明
解题思路
这个题相对来说比较简单,但在考试情况下可能会出现一种误解情况,如果走不出来的话,最后只能拿60分。
误解地方在于:
最小数并不是数组中最小元素,而是0
比如:
B=[5,5,10]
那么最小A=[ 5, 0, 10]
而不是:
A=[ 5, 5, 10]
下面分别为我自己写的代码和大佬优化过代码,不得不说大佬对此题的理解和对python知识融会贯通!
满分代码
n=int(input())
l=list(map(int,input().split()))
t_max=l[0]
t_min=0
s_max=0
s_min=0
for a in l:
if a>t_min:
t_min=a
s_min=s_min+t_min
if a>=t_max:
t_max=a
s_max=s_max+t_max
else:
s_max=s_max+t_max
print(s_max)
print(s_min)
大佬优化满分代码
n = int(input())
nums = list(map(int,input().split()))
print(sum(nums))
print(sum(set(nums)))
感谢及参考博文
部分内容参考以下链接,这里表示感谢 Thanks♪(・ω・)ノ
参考博文1 CCF202109-1 数组推导(100分)【序列处理】
https://blog.youkuaiyun.com/tigerisland45/article/details/120533375
需者自取传送门(∩ᄑ_ᄑ)⊃━☆【CCF 2013-2021】本博主整理历年至少前两题 python 满分代码目录