问题标题: 酷町堂:3910 食堂打饭

0
0
已解决
张睿杰
张睿杰
初级天翼
初级天翼

3910   食堂打饭

题目描述 Description

小明班上的体育委员在体育课上一不小心摔伤了骨头,于是他到食堂打饭时会选择一些有营养的菜补一补。现在食堂共有n个菜,每个菜都有一个价格pi,和一个营养价值wi。现在他卡上有m元,请问在能获得最大营养的情况下,所需最少的钱是多少?

输入描述 Input Description

第一行,两个整数,n m
接下来n行,每行两个整数,pi wi

输出描述 Output Description

能获得的最大价值和最大价值所需的最少钱数

样例输入 Sample Input

2 20
11 12
12 12

样例输出 Sample Output

12 11

数据范围及提示 Data Size & Hint

n≤10,000
m≤2,000


0
已采纳
毛润宇
毛润宇
新手天翼
新手天翼

难道是多重循环?

不知道会不会超时……

难道是数组(虽然我不会)

不知道可不可行;

我不会,但我可能有思路:先将可以组成的最大营养值求出来,再在其中挑出最便宜的,

估计是循环;输入n,再输入n行,这个怎么做到,for(int i=1;=;i<=n;i++)

{

中间执行我说的思路:先将可以组成的最大营养值求出来,再在其中挑出最便宜的。

}

我也不会,但可以让你看两眼,提供一点帮助。

毛润宇在2019-01-26 10:22:39追加了内容

提供0分弱鸡代码(这不是AC代码,不会被举报吧……)

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int a,b,n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++)
    {
        cin>>a>>b;
        if(b==b)
        {
            if(a>=a)
            cout<<b<<" "<<a;
        }
        if(b>=b)
        {
            b=b;
            cout<<b<<" "<<a;
        }
    }
    return 0;
}

毛润宇在2019-01-26 10:24:01追加了内容

0分代码,求不举报!!!

0
我要回答