SXY逛公园

题目描述

SXY 从恐怖怪屋出来以后,决定不再上BH指挥官的当,谁知道你又会让我玩什么恐怖游戏,
先我让我一个人静静,于是 SXY 决定到旁边
的小树林里散散步......
其实老师本来想让他去玩海盗船了,既然
SXY 不去了,老师就一个人去玩了,SXY 一
个人来到了小树林,忽然,一只大熊跑出来把
SXY 抓住了,SXY 想:我怎么这么倒霉?算
了,既然被他抓了,就任凭熊大处理了,于是
SXY 闭上眼任凭熊大处理,熊大说:嘿嘿,
SXY,你既然被我抓住了,就跟我回森林去守
护森林去,防止光头强再来偷树,SXY 想起还要回去做作业,就说:我不想去,我给你棒
棒糖好不?放了我。熊大当然不喜欢棒棒糖了,因为这东西伤牙齿,于是熊大就对 SXY 提
出了一个问题,如果 SXY 帮他解决了,就放了他,熊大的问题是这样的:
熊大在珠宝店闲逛时,买到了一个中意的手镯。很自然地,它想从它在森林里收集的
N(1 <= N <= 100)块宝石中选出最好的那些镶在手镯上。 对于第 i 块宝石, 它的重量为 Wi(1
<= Wi <= 100),并且熊大知道它在镶上手镯后能为自己增加的魅力值 Di(1 <= Di <=
100)。由于熊大只能忍受重量不超过 M(1 <= M <= 10000)的手镯,她可能无法把所有喜欢
的宝石都镶上。熊大告诉了 SXY 它所有宝石的属性以及它能忍受的重量,希望你能帮她计
算一下,按照最合理的方案镶嵌宝石的话,它的魅力值最多能增加多少。

输入

第 1 行 3 个用空格隔开的整数:N , M ,K (K 表示镯子的本来重量)
第 2..N+1 行: 第 i+1 行为 2 个用空格隔开的整数:Wi、Di,
分别为第 i 块宝石的重量与能为熊大增加的魅力值

输出

一个数字,表示熊大最多能增加多少魅力。

样例输入

4 6 01 42 63 122 7

样例输出

23

提示

对于 30%的数据:1<N<=10,K<M<=100;

对于 100%的数据:1<N<=100,K<M<=10000;


#include<stdio.h>
#include<string.h>
int f[10010],w[10010],v[10010]; 
int max(int x,int y){
    if(x>y) return x;
    else return y;
}
int main(){
    int t,m,i,j,k;
    scanf("%d %d %d",&m,&t,&k);
    t-=k;
    for(i=1;i<=m;i++)
        scanf("%d %d",&w[i],&v[i]);
    for(i=1;i<=m;i++){
        for(j=t;j>=w[i];j--){
            if(w[i]<=t)
                  f[j]=max(f[j-w[i]]+v[i],f[j]);
        }
    }
    printf("%d",f[t]);
    return 0;
}


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值