考的时候没有ac,只有0.2,继续努力吧
题目没有找到,凭记忆复述一下吧
题目描述
有n张优惠券,用来买m个商品,只要优惠券面值不大于商品价值就可以用,用完不收回,求购买这些商品所花的最少钱数。
输入输出描述
第一行是两个数n,m,表示优惠券数和商品数
第二行有n个数,表示优惠券面值
第三行有m个数,表示商品价值
(均不保证按大小排序)
输出一行,一个数,你最少所花钱数
示例1
输入:
3 4
50 100 200
99 199 200 300
输出
248
考试时写的版本:
#coding=utf-8
import sys
if __name__ == "__main__":
# 读取数据
line = sys.stdin.readline().strip()
values= list(map(int,line.split()))
n ,m = values
line = sys.stdin.readline().strip()
a= list(map(int,line.split()))
line = sys.stdin.readline().strip()
b= list(map(int,line.split()))
result = 0
a.sort(reverse=True)
b.sort(reverse=True)
i = 0
for j in b:
if j < a[i]:
if i < len(a)-1:
i = i + 1
else:
result = result+ j
continue
result = result + j - a[i]
print(result)
两个排序,并不知道为什么没ac,或许是result类型不对???换成float呢???