#4563. Python L13 智能机器人

Python L13 智能机器人

Python L13 智能机器人(30分)

题目名称:智能机器人

题目描述:

你是一名象棋教练,带领几个小学生参加“人机象棋对抗赛”。小选手们轮番上阵,与一个智能机器人对战。

你的小选手们的棋艺水平有高有低。用“经验值”评价每人的水平。假设棋局的结果完全由双方的经验值决定,经验值高的一方获胜,双方经验值相同则会和棋。

机器人初始的经验值为0,但是每下一局棋后,机器人的经验值就会增加1。

你要让学生们每人与机器人下一局棋。你需要合理安排他们的出场顺序,以赢下尽可能多的棋局。

输入你的所有学生(选手)的经验值,输出你方最多能赢多少局。

例如,你的4个学生的经验值分别是2,1,1,4,你按下表的顺序安排他们出场,可以赢下对战中的3局,这是最优的方案。 image

输入:

第一行一个正整数,为你的学生数量n(2<=n<=20);

第二行,按字符串形式输入n个正整数(大小在1~20范围内),相邻两个正整数用一个空格分隔,每个正整数表示一个学生的经验值。

提示:

s = input() #输入一个字符串,赋值给s

a = s.split(' ') #将字符串s按空格拆分,保存到列表a中

lis = [int(i) for i in a] #将列表a的元素转换成整数,保存到列表lis中

输出:

一个整数,表示你的学生们最多能赢多少局。

输入样例:

4

2 1 1 4

输出样例:

3

Limitation

1s, 1024KiB for each test case.