>

由于该食堂的菜都很不错sbf282.com

- 编辑:澳门博发娱乐官网 -

由于该食堂的菜都很不错sbf282.com

难题陈述 Description

       在小松宿舍楼下的前面,有PK大学最不利的一个客栈——The Farmer’s Canteen(NM茶楼卡塔尔国。由于该商旅的菜都很精确,价格也公道,所以重重人都爱不释手来那边吃饭。The Farmer’s Canteen的点菜形式犹如在杂货店自行选购商品后生可畏律,大家从三个内定的街头进去,再从叁个点名的街头出来并付款。由于来那边吃饭的食指比超多,所以大家自觉地在进入口的时候就排成三个长队,沿着长长的摆放着五光十色山珍海错的桌子举办选菜。

       小松发掘,这种选菜方式意味着,他不能在选菜的时候离开部队去拿一些她风流倜傥度看过了的菜依然还没看过的菜,因为插入是不礼貌的,也是被BS的。

       每一种菜有三个价值,而小松也本身给种种菜定了三个在他看来的好吃价值,比如红烧小金条在小松看来是美味价值相当的高的,而绿西王者香在小松眼里则是好吃价值超级低的菜肴。而有一点点菜是维生素价值非常高的菜(举例米饭卡塔 尔(英语:State of Qatar),所以不管它的美味价值是有一点,小松都会接收1份。以往小松带了X元钱来茶楼吃饭,他想清楚,在不欠帐的情状下,他选菜的好吃价值总合最大是微微。

输入描述 Input Description

       请从输入文件farmer.in中读入相关数据。输入的首先行包涵多少个个整数n(1≤n≤100),k(0≤k≤实质上菜的品种卡塔 尔(英语:State of Qatar)和三个实数X(0≤X≤100),表示有n个菜式,有k种菜是必选的,小松带来了X元钱(无误到“角”卡塔 尔(阿拉伯语:قطر‎。接下来的1行富含n个实数,表示菜桌子上从进口到讲话的具备菜的价位(0价格10,单位“元”,正确到“角”卡塔 尔(阿拉伯语:قطر‎;再接下来的1行含有n个整数,表示菜桌子上从进口到讲话的全数菜的甘脆价值(0美味价值100卡塔尔;再接下来豆蔻梢头行满含n个整数,表示菜桌子上从进口到讲话的装有菜的项目编号(1品类编号100卡塔尔。最终黄金时代行蕴含k个整数独家代表必选菜的品类编号。要潜心的是,同豆蔻梢头种编号的菜能够现身多次,但是她们的价钱和美味价值都以同一的。对于雷同种菜(无论是或不是必选菜卡塔尔,小松最两只会筛选1份(买两份白烧水豆腐多没看头啊卡塔 尔(英语:State of Qatar)。其余,必选菜的价钱之和自然不超过X。

出口描述 Output Description

       请将结果输出到输出文件farmer.out中。输出富含一个卡尺头,表示小松能选到的菜的水灵价值总和最大是有一点。

       注:你可以若是数据中不会身不由己小松带的钱相当不够买必买菜的图景。

 

样例输入 Sample Input

7 1 5.0

4 1 3 0.9 2 0.5 0.9

7 3 5 2 5 0 2

6 3 5 2 4 1 2

2

样例输出 Sample Output

10

数码范围及提示 Data Size & Hint

#include<iostream>
using namespace std;
int v[101]={0},c[101]={0},w[101]={0},f[10011]={0},n,m,k,x,mx=0,maxn=0,visi[101]={0};
double a,b;
int main()
{
    cin>>n>>m>>b;
    x=(int)(b*10);
    for(int i=1;i<=n;i++) 
        cin>>a,v[i]=(int)(a*10);
    for(int i=1;i<=n;i++) 
        cin>>w[i];
    for(int i=1;i<=n;i++)
    {
        cin>>k;
        visi[k]++;
        if(visi[k]>1) v[i]=w[i]=0;
        else c[k]=i;
    }
    for(int i=1;i<=m;i++) 
    {
         cin>>k;
        mx+=w[c[k]];
        x-=v[c[k]]; 
        w[c[k]]=v[c[k]]=0;
    }  
    for(int i=1;i<=n;i++)
        for(int j=x;j>=v[i];j--)
        {
               f[j]=max(f[j],f[j-v[i]]+w[i]);
               maxn=max(maxn,f[j]);
        } 
    cout<<maxn+mx; 
}

 

本文由胜博发-操作发布,转载请注明来源:由于该食堂的菜都很不错sbf282.com