QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#557474#9248. An Easy Math ProblemfzkWA 0ms3652kbC++201.8kb2024-09-11 09:53:072024-09-11 09:53:08

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-11 09:53:08]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3652kb
  • [2024-09-11 09:53:07]
  • Submitted

answer

#include <algorithm>
#include <bitset>
#include <array>
#include <complex>
#include <cassert>
#include <deque>
#include <exception>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iosfwd>
#include <iostream>
#include <istream>
#include <iterator>
#include <limits>
#include <list>
#include <locale>
#include <map>
#include <memory>
#include <new>
#include <numeric>
#include <ostream>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <stdexcept>
#include <streambuf>
#include <string>
#include <typeinfo>
#include <utility>
#include <valarray>
#include <vector>
#include <ostream>

using u32 = unsigned;
using i64 = long long;
using u64 = unsigned long long;

using namespace std;

vector<int> minp, primes;

void sieve(int n) {
    minp.assign(n + 1, 0);
    primes.clear();

    for (int i = 2; i <= n; i++) {
        if (minp[i] == 0) {
            minp[i] = 1;
            primes.push_back(i);
        }

        for (auto p : primes) {
            if (i * p > n) {
                break;
            }
            minp[i * p] = p;
            if (p == minp[i]) {
                break;
            }
        }
    }
}

void solve() {
    int n;
    cin >> n;

    i64 ans = 1;
    for (auto p : primes) {
        if (1LL * p * p > n) {
            break;
        }
        int t = 0;
        while (n % p == 0) {
            n /= p;
            t++;
        }
        ans *= 2 * t + 1;
    }
    if (n > 1) {
        ans *= 3;
    }
    ans += 1;
    ans /= 2;
    cout << ans << "\n";
}


int main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);

    int q;
    cin >> q;
    while (q--) {
        solve();
    }

    return 0;
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3652kb

input:

10
1
2
3
4
5
6
7
8
9
10

output:

1
2
2
2
2
2
2
2
2
2

result:

wrong answer 4th lines differ - expected: '3', found: '2'