题目描述

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

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

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

输入格式

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

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

输出格式

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

代码如下:

#include<bits/stdc++.h>
#define LL_int 128
using namespace std;
int n;
int a,b;
int minn=-1,maxn=1e9;
signed main(){
    std::ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a>>b;
        minn=max(minn,(int)floor(a/(b+1))+1);
        maxn=min(maxn,(int)floor(a/b));
    }
    cout<<minn<<" "<<maxn<<endl;
    return 0;
}
floor函数:把一个小数向下取整,返回一个double类型的数
03-28 10:59