codeforces
题号:NC21314
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 512 M,其他语言1024 M
64bit IO Format: %lld

题目描述

牛牛正在打一场CF
比赛时间为T分钟,有N道题,可以在比赛时间内的任意时间提交代码
第i道题的分数为maxPoints[i],题目的分数随着比赛的进行,每分钟减少pointsPerMinute[i]
这是一场比较dark的Cf,分数可能减成负数
已知第i道题需要花费 requiredTime[i] 的时间解决
请问最多可以得到多少分

输入描述:

第一行输入两个整数N,T (1 ≤ N ≤ 50, 1 ≤ T ≤ 100000)
第二行输入n个整数maxPoints[i]
第三行输入n个整数pointsPerMinute[i]
第四行输入n个整数requiredTime[i]
1 ≤ maxPoints[i],pointsPerMinute[i],requiredTime[i] ≤ 100000

输出描述:

输出一个整数
示例1

输入

复制
1 74
502
2
47

输出

复制
408
示例2

输入

复制
2 40000
100000 100000
1 100000
50000 30000

输出

复制
0
示例3

输入

复制
3 75
250 500 1000
2 4 8
25 25 25

输出

复制
1200
示例4

输入

复制
3 30
100 100 100000
1 1 100
15 15 30

输出

复制
97000

备注:

子任务1: n <= 10
子任务2: n <= 20
子任务3: 无限制