题解:P10782 【MX-J1-T2】『FLA - III』Ilumina

思路

我们可以令答案 b=cb=c

先判断无解:

  • a<ca<c 时,显然无解。
  • aacc\lfloor\dfrac{a}{\lfloor\frac{a}{c}\rfloor}\rfloor\neq c 时,无解。

证明(口胡)一下下面的结论:

ac\lfloor\dfrac{a}{c}\rflooraa 除以 cc 的整数值。如果 aa 整除以这个数都无法达到 bb(也就是 cc),那么更没有别的数让 aa 整除以这个数得到 bb 了,因为起码这个数理论可行(aac=c\dfrac{a}{\frac{a}{c}}=c),而其它数连理论都做不到。

那可能 b>cb>c 吗?我们还是要看题目中给的条件。如果连上面的要求都做不到,b>cb>c 时需要的要求更多,更做不到。

所以这道题就做完了。

代码

#include<bits/stdc++.h>
using namespace std;
int T;
long long a,b,ans;
int main(){
	cin>>T;
	while(T--){
		cin>>a>>b;
		ans=b;
		long long g=a/b;
		if(a<b)cout<<-1<<endl;
		else if(a/g!=b)cout<<-1<<endl;
		else cout<<b<<endl;
	}
	return 0;
}
posted @   Weslie_qwq  阅读(3)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示