刚学c艹 1ms 的萌新求助!悬关!
  • 板块学术版
  • 楼主jeffstart
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/1/4 18:21
  • 上次更新2024/1/4 20:50:08
查看原帖
刚学c艹 1ms 的萌新求助!悬关!
482998
jeffstart楼主2024/1/4 18:21

题目描述

坤坤有无穷多个篮球和篮子,他们存放在仓库里,于是坤坤想玩一个游戏。最初,坤坤面前只有一个篮子,篮子里面没有篮球。每一轮,坤坤可以对每个篮子做一次操作,一次操作是指以下 33 种操作中的一种(假设这个篮子原本有 xx 个篮球):

  1. 从仓库里取一个篮球放进去,这样这个篮子里的篮球数量就变成了 x+1x+1。
  2. 从仓库里拿一个篮子,再从当前篮子拿 yy 个篮球到这个新篮子里去,即两个篮子的篮球分别变为 x−yx-y 和 yy 个(0≤y≤x0 \le y \le x)。注意:这个新来的篮子只有到下一轮才能操作。
  3. 什么都不做。

注意,每一轮只能对同一个篮子操作一次,每个篮子可以选择不同的操作,新拿来的篮子当前轮不能操作。

坤坤已经玩了很久了,但她并不知道自己玩了多少轮。已知现在有 nn 个篮子,篮子里篮球的数量分别为 a1,a2,…,ana_1, a_2, \dots, a_n,请问坤坤最少玩了多少轮?

输入格式

从标准输入读入数据。

第一行,一个整数 nn(1≤n≤1061 \le n \le 10^6)。

第二行,分别表示 a1,a2,…,ana_1, a_2, \dots, a_n(0≤ai≤1060 \le a_i \le 10^6)。

输出格式

输出到标准输出。

输出一个整数,表示坤坤最少需要玩的轮数。

样例1输入

1
0

样例1输出

0

样例2输入

4
1 1 1 1

样例2输出

3

样例3输入

5
0 3 0 3 0

样例3输出

5

样例3解释

步骤为 (0)→(0,0)→(0,0,0,0)→(0,1,0,1,0)→(0,2,0,2,0)→(0,3,0,3,0)(0) \rightarrow (0,0) \rightarrow (0,0,0,0) \rightarrow (0,1,0,1,0) \rightarrow (0,2,0,2,0) \rightarrow (0,3,0,3,0) 一共 55 轮。

2024/1/4 18:21
加载中...