刷(shua)题

 

``` #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N = 200; int shua[N],home[N],s[N]; int f[N],dp[N]; int main() { int n,m,k,r; cin>>n>>m>>k>>r; for(int i=1;i<=n;i++) cin>>shua[i]; for(int i=1;i<=m;i++) cin>>home[i]; for (int i = 1; i <= m; i ++ ) cin>>s[i]; for(int i=1;i<=m;i++){ for(int j=r;j>=home[i];j--){ f[j]=max(f[j],f[j-home[i]]+s[i]); } } int ans1; for(int i=1;i<=r;i++){ // cout<<i<<' '<<f[i]<<endl; if(f[i]>=k) { ans1=i; break; } } ans1=r-ans1; // cout<<ans1<<endl; for(int i=1;i<=n;i++){ // cout<<shua[i]<<endl; for(int j=ans1;j>=shua[i];j--){ dp[j]=max(dp[j],dp[j-shua[i]]+1); } } cout<<dp[ans1]; return 0; }```# P1926 小书童——大军 ## 目背景 数学是火,点亮物理的灯;物理是灯,照亮化学的路;化学是路,通向生物的坑;生物是坑,埋葬学理的人。 文言是火,点亮历史宫灯;历史是灯,照亮社会之路;社会是路,通向哲学大坑;哲学是坑,埋葬文科生。——小 A ## 目描述 小 A “”十分猖狂,明目张胆地“”。他现在在小书童里发现了 $n$ 样他喜欢的“目”,每“”都有他的需要时间,而老师布置了 $m$ 项作业,每项作业都有它的需要时间及分值,老师规定 $k$ 分以上算及格。小 A 只剩 $r$ 个单位时间,他想在及格的基础上更多地“”。 ## 输入格式 第一行四个整数 $n,m,k,r$。 第二行有 $n$ 个数,代表每“”他的需要时间。 第三行有 $m$ 个数,表示每项作业它的需要时间。 第四行有 $m$ 个数,代表每项作业它的分值。 ## 输出格式 一个数,代表小 A 能几道。 ## 输入输出样例 #1 ### 输入 #1 ``` 3 4 20 100 15 20 50 10 15 40 40 5 5 10 15 ``` ### 输出 #1 ``` 2 ``` ## 说明/提示 ### 数据范围及约定 对于 $100\%$ 的数据,$n\le 10$,$m\le 10$,$k\le 50$,$r\le 150$。数据保证没有不能及格的情况。
03-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值