【洛谷 9240】[蓝桥杯 2023 省 B] 冶炼金属
# [蓝桥杯 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; }