#4533. Python L11 购物攻略
Python L11 购物攻略
Background
Python L11 购物攻略(30分)
题目名称:购物攻略
题目描述:
某商店举行“买一送一”的促销活动:凡购买两件商品,价格较低的商品免费;如两件价格相同,则其中任意一件商品免费。只买一件商品不享受任何优惠。
小蓝已经将想买的商品放入了购物袋。结账时,收银机会按照排列顺序依次扫描商品。
小蓝发现,如果要买的商品数量大于2,收银系统会按顺序把两件商品搭配在一起,进行买一送一的结算。如果用两件价格相差较大的商品搭配,那就太不划算了。所以小蓝需要设计商品结算时的排列顺序。
例如:小蓝要买5件商品,价格分别是5,1,3,6,8。如果按这个顺序通过收银机扫描,需花费19,如下图所示。
但如果按8,6,5,3,1的顺序通过收银机扫描,只需花费14,如下图所示。
输入小蓝购物袋里的商品数量n和所有商品的价格,输出他购买这些商品最少要花多少钱。
输入:
第一行一个正整数,为小蓝购物袋里的商品数量n(2<=n<=20);
第二行,按字符串形式输入n个正整数(大小在1~100范围内),相邻两个正整数用一个空格分隔。每个整数代表小蓝购买的一件商品的价格。
提示:
s = input() #输入一个字符串,赋值给s
a = s.split(' ') #将字符串s按空格拆分,保存到列表a中
lis = [int(i) for i in a] #将列表a的元素转换成整数,保存到列表lis中
输出:
一个整数,为小蓝购买这些商品最少要花的钱数。
输入样例:
5
5 1 3 6 8
输出样例:
14
Limitation
1s, 1024KiB for each test case.