跳到主要内容

题解:P9240 [蓝桥杯 2023 省 B] 冶炼金属

· 阅读需 1 分钟
lailai
Blogger

原题链接

解题思路

  1. bb 变成 b+1b+1,即再造一个特殊金属 X 时,V=ab+1V=\left\lfloor\dfrac{a}{b+1}\right\rfloor。此时为刚好不满足条件的情况,所以 V=ab+1+1V=\left\lfloor\dfrac{a}{b+1}\right\rfloor+1满足条件的最小情况

Vmin=ab+1+1V_{min}=\left\lfloor\dfrac{a}{b+1}\right\rfloor+1

  1. 同理,满足条件的最大情况ab\left\lfloor\dfrac{a}{b}\right\rfloor

Vmax=abV_{max}=\left\lfloor\dfrac{a}{b}\right\rfloor

  1. 取所有记录的交集,即取所有记录中 VminV_{min} 的最大值和 VmaxV_{max} 的最小值。

参考代码

#include <bits/stdc++.h>
using namespace std;

const int inf=0x3f3f3f3f;
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin>>n;
int mn=0,mx=inf;
while(n--)
{
int a,b;
cin>>a>>b;
mn=max(mn,a/(b+1)+1);
mx=min(mx,a/b);
}
cout<<mn<<' '<<mx<<'\n';
return 0;
}