QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#670918 | #9248. An Easy Math Problem | snow_miku# | TL | 1ms | 3468kb | C++23 | 844b | 2024-10-24 08:45:54 | 2024-10-24 08:45:55 |
Judging History
This is the latest submission verdict.
- [2024-10-31 22:36:43]
- hack成功,自动添加数据
- (/hack/1098)
- [2024-10-31 22:13:58]
- hack成功,自动添加数据
- (/hack/1096)
- [2024-10-31 22:00:43]
- hack成功,自动添加数据
- (/hack/1095)
- [2024-10-24 08:45:54]
- Submitted
answer
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
void solve(){
ll n;
cin >> n;
ll m = sqrt(n);
vector<ll> num;
for(ll i = 1; i <= m; i++){
if(n % i == 0){num.push_back(i); if (i != n / i) num.push_back(n/i);}
}
sort(num.begin(), num.end());
vector<pair<ll, ll>> ans;
for(int i = 0; i < num.size(); i++){
for(int j = i; j < num.size(); j++){
ll d = __gcd(num[i], num[j]);
if (d == 1) ans.push_back({num[i]/d, num[j]/d});
}
}
// for(int i = 0; i < ans.size(); i ++){
// cout << ans[i].first << " " << ans[i].second << endl;
// }
cout << ans.size() << "\n";
}
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin >> t;
while(t--)
solve();
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 1ms
memory: 3468kb
input:
10 1 2 3 4 5 6 7 8 9 10
output:
1 2 2 3 2 5 2 4 3 5
result:
ok 10 lines
Test #2:
score: -100
Time Limit Exceeded
input:
2000 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 6469693230 646969323...