Submission #37815860


Source Code Expand

#include <bits/stdc++.h>
#include <atcoder/all>
using namespace atcoder;
#define rep(i,n) for (int i = 0; i < (n); ++i)
using namespace std;
using ll = long long;
using P = pair<int,int>;
#define chmax(x,y) x = max(x,y);
#define chmin(x,y) x = min(x,y);
const int di[] = {-1, 0, 1, 0};
const int dj[] = {0, -1, 0, 1};
const int INF = 1001001001;
const ll LINF = 1001002003004005006ll;
const double PI = acos(-1);

struct Sieve {
    int n;
    vector<int> f, primes;
    Sieve(int n=1):n(n), f(n+1) {
        f[0] = f[1] = -1;
        for (ll i = 2; i <= n; i++) {
            if (f[i]) continue;
            primes.push_back(i);
            f[i] = i;
            for (ll j = i*i; j <= n; j += i) {
                if (!f[j]) f[j] = i;
            }
        }
    }
    bool isPrime(int x) { return f[x] == x;}
    vector<int> factorList(int x) {
        vector<int> res;
        while (x != 1) {
            res.push_back(f[x]);
            x /= f[x];
        }
        return res;
    }
    vector<P> factor(int x) {
        vector<int> fl = factorList(x);
        if (fl.size() == 0) return {};
        vector<P> res(1, P(fl[0], 0));
        for (int p : fl) {
            if (res.back().first == p) {
                res.back().second++;
            } else {
                res.emplace_back(p, 1);
            }
        }
        return res;
    }
    vector<pair<ll,int>> factorL(ll x) {
        vector<pair<ll,int>> res;
        for (int p : primes) {
            int y = 0;
            while (x%p == 0) x /= p, ++y;
            if (y != 0) res.emplace_back(p,y);
        }
        if (x != 1) res.emplace_back(x,1);
        return res;
    }
};

int main() {
    int t;
    cin >> t;
    Sieve sieve(10000000);
    rep(ti,t) {
        ll n;
        cin >> n;
        for (ll x : sieve.primes) {
            if (n%(x*x) == 0) {
                cout << x << " " << n/(x*x) << endl;
                break;
            }
            if (n%x == 0) {
                cout << (ll)sqrtl(n/x) << " " << x << endl;
                break;
            }
        }
    }
    return 0;
}

Submission Info

Submission Time
Task D - Happy New Year 2023
User taki0711
Language C++ (GCC 9.2.1)
Score 400
Code Size 2163 Byte
Status AC
Exec Time 157 ms
Memory 46596 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 1
AC × 22
Set Name Test Cases
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 02_p_large_00.txt, 02_p_large_01.txt, 02_p_large_02.txt, 02_p_large_03.txt, 02_p_large_04.txt, 03_q_large_00.txt, 03_q_large_01.txt, 03_q_large_02.txt, 03_q_large_03.txt, 03_q_large_04.txt, 04_hand_00.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 144 ms 46404 KiB
01_random_00.txt AC 153 ms 46396 KiB
01_random_01.txt AC 149 ms 46396 KiB
01_random_02.txt AC 153 ms 46548 KiB
01_random_03.txt AC 152 ms 46596 KiB
01_random_04.txt AC 152 ms 46400 KiB
01_random_05.txt AC 157 ms 46288 KiB
01_random_06.txt AC 151 ms 46412 KiB
01_random_07.txt AC 149 ms 46284 KiB
01_random_08.txt AC 146 ms 46420 KiB
01_random_09.txt AC 152 ms 46552 KiB
02_p_large_00.txt AC 141 ms 46288 KiB
02_p_large_01.txt AC 142 ms 46420 KiB
02_p_large_02.txt AC 139 ms 46400 KiB
02_p_large_03.txt AC 137 ms 46448 KiB
02_p_large_04.txt AC 138 ms 46548 KiB
03_q_large_00.txt AC 138 ms 46388 KiB
03_q_large_01.txt AC 142 ms 46344 KiB
03_q_large_02.txt AC 136 ms 46444 KiB
03_q_large_03.txt AC 138 ms 46280 KiB
03_q_large_04.txt AC 137 ms 46408 KiB
04_hand_00.txt AC 144 ms 46288 KiB