今天有点高效啊,切数论题都这样喵?
#include<bits/stdc++.h>
using namespace std;
int main() {
int n,a,b,c,d,s,m;
cin>>n;
while(n--){
cin>>a>>b>>c>>d;
m=min(b,d);
for(int i=1;i<=m;i++){
i=min(b/(b/i),d/(d/i));//优化,只考虑b/i和d/i值都相等的数中最大的一个
if(b/i*i>=a&&d/i*i>=c)s=i;//判断是否符合条件,更新答案
}
cout<<s<<endl;
}
return 0;
}
然而
最离谱的是
它是n*sqrt(m)的
啊?100pts?
建议加强数据
不开O2,最慢的点也只跑了650秒,这就有点红温了