思路:1,取各组(v1,v2)满足条件的交集 可以用二分查找优化
2,每组都是可以出B个但是不出B+1 所以A>=B*V&& A<(B+1)*V所以A/(B+1) < V <= A/B;//A/(B+1)+1 <= V <= A/B
1 #include<bits/stdc++.h> 2 using namespace std; 3 int maxn=1e9,minn=1; 4 int main() 5 { 6 int n;cin>>n; 7 while(n--) 8 { 9 int a,b;cin>>a>>b; 10 maxn=min(maxn,a/b); 11 minn=max(minn,a/(b+1)+1); 12 } 13 cout<<minn<<" "<<maxn<<endl; 14 }
总结:考试时候无脑二分了,还得多观察多思考。