8 条题解
-
-1
题解分析
问题描述
给定五个正整数 , , , , ,其中 且 。已知 和 的值,求出一个合法的 的值,或者报告不存在合法的 的值。
解题思路
根据题目描述,我们有以下两个等式:
由第一个等式,我们可以推断出 。由第二个等式,我们可以推断出 。结合这两个不等式,我们可以得出 应该满足 。
解决方案
我们可以直接检查 是否满足条件。如果 满足 ,那么 就是一个合法的 值。否则,不存在合法的 值。
代码实现
以下是使用 C++ 实现的代码片段:
#include <iostream> using namespace std; int main() { int t; cin >> t; while(t--) { long long a, c; cin >> a >> c; if(a <= c && a / (a / c) == c) cout << c << endl; else cout << -1 << endl; } return 0; }
时间复杂度分析:
这个解决方案的时间复杂度是 ,因为它只需要常数时间来处理每个测试用例。这使得它非常适合处理大量的测试数据。
信息
- ID
- 14
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 2
- 标签
- 递交数
- 804
- 已通过
- 221
- 上传者