【洛谷 9240】[蓝桥杯 2023 省 B] 冶炼金属

发布时间 2023-10-22 14:09:54作者: #Cookies#

# [蓝桥杯 2023 省 B] 冶炼金属

## 题目描述

小蓝有一个神奇的炉子用于将普通金属 O 冶炼成为一种特殊金属 X。这个炉子有一个称作转换率的属性 $V$,$V$ 是一个正整数,这意味着消耗 $V$ 个普通金属 O 恰好可以冶炼出一个特殊金属 X,当普通金属 O 的数目不足 $V$ 时,无法继续冶炼。

现在给出了 $N$ 条冶炼记录,每条记录中包含两个整数 $A$ 和 $B$,这表示本次投入了 $A$ 个普通金属 O,最终冶炼出了 $B$ 个特殊金属 X。每条记录都是独立的,这意味着上一次没消耗完的普通金属 O 不会累加到下一次的冶炼当中。

根据这 $N$ 条冶炼记录,请你推测出转换率 $V$ 的最小值和最大值分别可能是多少,题目保证评测数据不存在无解的情况。

## 输入格式

第一行一个整数 $N$,表示冶炼记录的数目。

接下来输入 $N$ 行,每行两个整数 $A,B$,含义如题目所述。

## 输出格式

输出两个整数,分别表示 $V$ 可能的最小值和最大值,中间用空格分开。

## 样例 #1

### 样例输入 #1

```
3
75 3
53 2
59 2
```

### 样例输出 #1

```
20 25
```

## 提示

**【样例说明】**

当 $V=20$ 时,有:$\left\lfloor\frac{75}{20}\right\rfloor=3,\left\lfloor\frac{53}{20}\right\rfloor=2,\left\lfloor\frac{59}{20}\right\rfloor=2$,可以看到符合所有冶炼记录。

当 $V=25$ 时,有:$\left\lfloor\frac{75}{25}\right\rfloor=3,\left\lfloor\frac{53}{25}\right\rfloor=2,\left\lfloor\frac{59}{25}\right\rfloor=2$,可以看到符合所有冶炼记录。

且再也找不到比 $20$ 更小或者比 $25$ 更大的符合条件的 $V$ 值了。

**【评测用例规模与约定】**

对于 $30 \%$ 的评测用例,$1 \leq N \leq 10^{2}$。

对于 $60 \%$ 的评测用例,$1 \leq N \leq 10^{3}$。

对于 $100 \%$ 的评测用例,$1 \leq N \leq 10^{4}$,$1 \leq B \leq A \leq 10^{9}$。

蓝桥杯 2023 省赛 B 组 C 题。

 

题解:上取整:int n= (N - 1) / M +1;

 

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
int n,mx=-1,mn=1e9,x,y,s1,s2;
int main(){
    freopen("9240.in","r",stdin);
    freopen("9240.out","w",stdout);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>x>>y;
        s1=x/y;
        s2=(x-1)/(y+1)+1;
        mx=max(s2,mx);
        mn=min(s1,mn);
    }
    printf("%d %d",mx,mn);
    return 0;
}