#1019. 日行一善-easy
日行一善-easy
Cannot parse: (0 , import_utils.normalizeSubtasks) is not a function or its return value is not iterable
Background
Special for beginners, ^_^
Description
小 A 有一天扶老奶奶过马路,老奶奶为了报答小 A ,给了他一条数轴和 n 条金条奖励。
但是这 n 条金条黏在了一块积木板上,小 A 一旦把它们拿去换钱,他们就会飞回积木板上。
小 A 愁昏了头,但是他细心的发现,每根金条上写着四个数字和数字的解释,并且在数轴上刻画着几行字。
这四个数字分别是:
- Si: 该金条在数轴上的起点
- Wi: 该金条的长度
- Vi: 该金条所能获得的价钱
- Ci: 把该金条放到数轴对应位置所需支付的价钱。
数轴上的文字是:
- 假若你将一根金条放到数轴对应位置上,你可获得该金条对应的价钱,但是你必须刚好铺满 [0,L] 的这块区域。
- 铺上去的金条必须首尾相连,不可以重叠,也不可以空缺,否则你将一无所获。
小 A 抠抠搜搜一共就只有 B 元钱,他想请你帮帮他,怎样安排他才能拿到最多的金钱?
注意:你必须要刚好铺满 0~L 这块区域才可以获得价值
Format
Input
第一行输入三个整数L,n,B(1≤L≤103,1≤n≤104,0≤B≤103)
随后 n 行,每行输入四个整数 Si(0≤Si≤L−Wi), Wi(1≤Wi≤L), Vi(1≤Vi≤106), Ci(1≤Ci≤103),代表每根金条的信息。
注意只有一次完整地机会
Output
输出一个数字,代表小 A 能够获得最大的价值,如果一无所获,那么请输出-1。
Samples
5 6 10
0 2 20 6
2 3 5 6
0 1 2 1
1 1 1 3
1 2 5 4
3 2 10 2
17
Limitation
1s, 1024KiB for each test case.
Related
In following contests: