QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#552864 | #9248. An Easy Math Problem | ucup-team1766# | TL | 0ms | 3476kb | C++17 | 1.1kb | 2024-09-08 03:18:56 | 2024-09-08 03:18:58 |
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-09-08 03:18:56]
- Submitted
answer
#include <bits/stdc++.h>
using namespace std;
long long brute_force(map<long long, int> &freqs, vector<int> &mask, int cur) {
if (cur == freqs.size()) {
long long prod = 1;
int cnt = 0;
for (auto it = freqs.begin(); it != freqs.end(); it++) {
if (mask[cnt] != 0) {
prod *= it->second;
}
cnt++;
}
return prod;
}
long long res = 0;
for (int i = 0; i < 3; i++) {
mask[cur] = i;
res += brute_force(freqs, mask, cur + 1);
}
return res;
}
void solve() {
long long n;
cin >> n;
map<long long, int> freqs;
for (long long i = 2; i * i <= n; i++) {
while (n % i == 0) {
freqs[i]++;
n /= i;
}
}
if (n > 1) {
freqs[n]++;
}
vector<int> mask(freqs.size());
long long res = brute_force(freqs, mask, 0);
cout << (res - 1) / 2 + 1 << "\n";
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin >> t;
while (t--) {
solve();
}
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3476kb
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...