Manager赛码网

描述
小明是一个互联网公司的老板,需要招聘员工。现在有k个学校的学生前来应聘。

由于特殊原因,要求最后入职的员工学校的人数应该都不一样。

比如我们可以A大学录取5人,B大学录取4人。但是不允许A大学和B大学都录取5人。

请问最后最多录取多少人呢?

输入描述
第一行一个整数k,表示学校的数量。

第二行k个整数ai,表示这个学校有ai个人前来应聘。

满足 1<=k<=100000,1<=ai<=100000

输出描述
输出最多录取人数



def fun(num_list):
    cunt=0
    num_list.sort(reverse=True)
    for i in range(1,len(num_list)):
        if num_list[i]==num_list[i-1]:
            num_list[i]=num_list[i-1]-1
    cunt=0
    for i in num_list:
        if i>0:
            cunt+=i
    return cunt
n=0
while 1:
    s=input()
    if n!=0:
        if s!="":
            s=list(map(int, s.split()))
            n=fun(s)
            print(n)
        else:
            break
    n+=1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值