2019内蒙古大学生程序设计竞赛A
链接:https://www.bttcacm.cn/problem.php?id=1779
题目描述
勇士 haruhi 要铸造一个传说!
但是在这之前,他需要打败恶龙。
众所周知的是,恶龙的攻击力非常高,haruhi 作为一个攻击力只有 0 的家伙,需要去招募青蛙来攻打恶龙。
haruhi 到恶龙巢穴的路上有 n 个酒馆,每个酒馆里都有一些青蛙。(不要问青蛙为什么在酒馆里)
青蛙作为一种中立生物,对 haruhi 也是有敌意的,除非 haruhi 花钱招募它们,或者 haruhi 已经招募的青蛙的攻击力比当前酒馆里青蛙的攻击力多或者相等,他才能安全地走出这个酒馆,抵达下一个地方。
haruhi 会按照 1 到 n 的顺序,走遍这些酒馆。
现在,haruhi 想要问你,他最少需要准备多少钱,才能招募到足够多的青蛙,打败恶龙。
其他设定如下:
1、haruhi 只能够选择要么招募整个酒馆的青蛙,要么一只都不要。
2、最后,青蛙的攻击力总和大于等于恶龙,那么,haruhi 就可以顺利的打败恶龙。
3、同一个酒馆里,青蛙的攻击力是一样的。
输入格式
第一行一个整数 T,代表 T 组数据。(T<=20)
首先每行两个数 n,k,分别代表酒馆的数量,和恶龙的攻击力。(n<=500,k<=10^9)
接下来有三行。
第一行 n 个数,代表每个酒馆里青蛙的数量。(1<=a[i]<=3000)
第二行 n 个数,代表每个酒馆里每只青蛙的攻击力。(1<=b[i]<=3000)
第三行 n 个数,代表招募到这个酒馆所有青蛙所需要付出的金币数。(1<=c[i]<=10)
输出格式
对于每组数据,输出一个数,代表 haruhi 需要花的最少钱数。
如果 haruhi 战胜不了恶龙,输出"chu ti zhe ying gai xue yi xia e long"。(不含引号)
输入样例
1
3 9
2 2 3
3 4 1
5 8 1
输出样例
13
思路:dp,我不会写的dp,先放着,想好补上。
AC代码: