Codeforces 919A (Supermarket)

Time-space gate

We often go to supermarkets to buy some fruits or vegetables, and on the tag there prints the price for a kilo. But in some supermarkets, when asked how much the items are, the clerk will say that a yuan for b kilos (You don’t need to care about what “yuan” is), the same as a / b yuan for a kilo.

Now imagine you’d like to buy m kilos of apples. You’ve asked n supermarkets and got the prices. Find the minimum cost for those apples.

You can assume that there are enough apples in all supermarkets.

Input
The first line contains two positive integers n and m (1 ≤ n ≤ 5 000, 1 ≤ m ≤ 100), denoting that there are n supermarkets and you want to buy m kilos of apples.

The following n lines describe the information of the supermarkets. Each line contains two positive integers a, b (1 ≤ a, b ≤ 100), denoting that in this supermarket, you are supposed to pay a yuan for b kilos of apples.

Output
The only line, denoting the minimum cost for m kilos of apples. Please make sure that the absolute or relative error between your answer and the correct answer won’t exceed 10 - 6.

Formally, let your answer be x, and the jury’s answer be y. Your answer is considered correct ifWrite picture description here .

Examples
inputCopy
3 5
1 2
3 4
1 3
output
1.66666667
inputCopy
2 1
99 100
98 99
output
0.98989899
Note
In the first sample, you are supposed to buy 5 kilos of apples in supermarket 3. The cost is 5 / 3 yuan.

In the second sample, you are supposed to buy 1 kilo of apples in supermarket 2. The cost is 98 / 99 yuan.

Title:

This person wants to go to the supermarket to buy apples. There are n supermarkets. If you want to buy m catties of apples,
there are n rows next. Each row is the money of apples but not the unit price. It represents B catties and A yuan, so the single item is A/B. But note that it is more accurate to change to a floating point number.

Ideas:

Just find the minimum unit price and multiply it by the number of catties you want to buy. Here I wrote a judgment function with a return value of double that automatically gave me a carry. It is estimated that it is a problem between c++ and c, and then it is pitiful to write it directly as if. . emmm

Code:

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include <cmath>

using namespace std;
const int N=1e5+10;


int main()
{
   // ios::sync_with_stdio(false);
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        double a,b;
        double minn=N*1.0;
        for(int i=1;i<=n;i++)
        {
            scanf("%lf%lf",&a,&b);
            if(minn>a/b)//这个地方 最初写了一个 判断函数结果答案不对 我也搞不懂 改成这个if判断就a了
                minn=a/b;
        }
        printf("%.8lf\n",m*minn);

    }
    return 0;
}

Guess you like

Origin blog.csdn.net/Puppet__/article/details/79344820