【Python】Comet OJ C1067 [Contest #3]比赛

样例输入 1 

3 2 
1 2 3

样例输出 1

9

样例输入 2 

4 6 
1000000000 1000000000 1000000000 1000000000

样例输出 2

12000000000

思路解析:

解决一个列表每个元素间隔空格同行输入(可以参考我的另一篇文章)就解决一半了,再者就是将每一个精彩度读入列表,记着千万不要想着去重,题目中没有强调就不要用集合去重,最后排序,注意是升序(介绍排序的也有介绍),也可以是默认的降序,但是比较麻烦罢了,再求和即可

代码如下:

#C1067 [Contest #3]比赛.py

N,K = map(int,input().split())
ls = list()
lt = list()
brilliance = 0                 #定义精彩度为0

#列表空格间隔输入
'''
s = input()
items = s.split(" ")
ls = [eval(i) for i in items]
'''
#上面三行等价于下面一行,即简化后
ls = [eval(i) for i in input().split(" ")]

for i in range(N):             #每一只小猫与其后的每一只小猫比赛的精彩度计入列表lt
    for j in range(i+1,N):
        if i != N - 1:
            t = ls[i] + ls[j]
            lt.append(t)

lt.sort(reverse = True)        #排序,降序排列,默认为升序

for i in range(K):             #求和前K大的每个数
    brilliance += lt[i]

print(brilliance)


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值