2888: PTK13 智能机器人

Memory Limit:256 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

你是一名象棋教练,带领几个小学生参加“人机象棋对抗赛”。小选手们轮番上阵,与一个智能机器人对战。 你的小选手们的棋艺水平有高有低。用“经验值”评价每人的水平。假设棋局的结果完全由双方的经验值决定,经验值高的一方获胜,双方经验值相同则会和棋。 机器人初始的经验值为0,但是每下一局棋后,机器人的经验值就会增加1。 你要让学生们每人与机器人下一局棋。你需要合理安排他们的出场顺序,以赢下尽可能多的棋局。 输入你的所有学生(选手)的经验值,输出你方最多能赢多少局。 例如,你的4个学生的经验值分别是2,1,1,4,你按下表的顺序安排他们出场,可以赢下对战中的3局,这是最优的方案。 ![](https://s1.ax1x.com/2023/09/04/pPD62jS.png)

Input

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

Output

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

Sample Input Copy

4
2 1 1 4

Sample Output Copy

3

HINT

[md] 提示: s = input() #输入一个字符串,赋值给s a = s.split(' ') #将字符串s按空格拆分,保存到列表a中 lis = [int(i) for i in a] #将列表a的元素转换成整数,保存到列表lis中 [/md]