电梯
题号:NC210149
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

又是上班的早高峰,现在有n个人在公司1楼,他们想要乘坐电梯上楼。已知第i个人乘电梯到达目标楼层至电梯返回一楼所需要的时间为a_i
公司里有两个电梯,但由于疫情防控需要,他们只能依次乘坐电梯。也就是说,对于每个人,他可以选择空闲的电梯乘坐,若此时无电梯空闲,则他需要等待。
请问需要多长时间,所有的人才能都上楼(结束时两个电梯都回到一楼且一楼没有人)?

输入描述:

第一行一个整数n,表示公司人数
接下来一行n个整数a_ii个数表示i个人乘电梯到达目标楼层至电梯返回一楼的时间。
1 \leqslant n \leqslant 10^5, 1 \leqslant a_i \leqslant 10^3

输出描述:

输出一个整数表示答案
示例1

输入

复制
3
1 2 3

输出

复制
4

说明

第0分钟:第一个人选择第一个电梯,第二个人选择第二个电梯    
第1分钟:第一电梯返回,第三个人选择第一个电梯
第2分钟:第二个电梯返回
第4分钟:第一个电梯返回
此时两个电梯都返回且一楼没有人
示例2

输入

复制
4
2 3 1 2

输出

复制
5

备注: