#4561. Python L13 银行排队

Python L13 银行排队

Python L13 银行排队(30分)

题目名称:银行排队

题目描述:

银行营业大厅有3个窗口,面向个人客户办理业务。

客户进入银行后,要先在取号机上取号,表示排队的顺序。

每个窗口的业务员一旦空闲下来,而有客户在排队等候时,系统就会他分配下一位客户。

系统分配客户的原则是,哪个窗口现在空闲,就给哪个窗口分配客户。如果有两个以上的窗口空闲,优先给左边的窗口安排客户。

已知n个客户的排队顺序,以及各自办事需要的时间。开始时3个窗口都空闲。输出银行工作人员接待完这n个客户所需时间(分钟)。

例如:4个客户按顺序进入银行,他们办事需要的时间分别是2,4,1,5(分钟)。3个窗口的安排如下图所示。 image 银行接待完这4个客户,所需时间是6分钟。

输入:

第一行一个正整数,为客户数量n(2<=n<=20);

第二行,按字符串形式输入n个正整数(大小在1~20范围内),相邻两个正整数用一个空格分隔。按排队顺序,每个整数代表一个客户办事所需时间。

提示:

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

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

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

输出:

一个整数,表示银行工作人员接待完这n个客户所需时间。

输入样例1:

4

2 4 1 5

输出样例1:

6

输入样例2:

6

3 5 2 2 7 1

输出样例2:

10

Limitation

1s, 1024KiB for each test case.