Submission #73328863


Source Code Expand

#include<bits/stdc++.h>
#include<atcoder/all>
using namespace atcoder;
using namespace std;
using ll = long long;
using mint = modint998244353;
#define nl '\n'
#define rep(i, n) for(ll i = 0; i < (ll)(n); ++i)
template<typename T> bool chmin(T& a, T b){if(a > b){a = b; return true;} return false;}
template<typename T> bool chmax(T& a, T b){if(a < b){a = b; return true;} return false;}
const ll INF = (1LL << 62);
//--------------------------------------------------------------------------------
//--------------------------------------------------------------------------------

void solve()
{
    int t; cin >> t;
    
    unordered_map<ll, vector<ll>> p;
    for(ll i = 2; i <= 10000000; ++i)
    {
        if(p[i].size() > 0) continue;
        for(ll j = 2; j * i <= 10000000; ++j)
        {
            p[i * j].push_back(i);
        }
    }

    while(t--)
    {
        int n; cin >> n;
        vector<ll> a(n);
        rep(i, n) cin >> a[i];

        unordered_map<ll,ll> cnt;
        rep(i, n)
        {
            ll v = a[i];
            
            for(ll x : p[a[i]])
            {
                ll cx = x;
                cnt[x]++;
                while(a[i] % (cx * x) == 0)
                {
                    cx *= x;
                    cnt[cx]++;
                }
            }
        }

        unordered_map<ll,bool> al;
        mint saisyo = 1;
        rep(i, n)
        {
            for(ll x : p[a[i]])
            {
                if(al[x]) continue;
                al[x] = true;
                
                ll cx = 1;
                while(cnt[cx * x] > 0) cx *= x;
                saisyo *= cx;
            }
        }

        rep(i, n)
        {
            ll v = a[i];
            mint ans = saisyo;
            for(ll x : p[a[i]])
            {
                ll cx = x;
                while(a[i] % (cx*x) == 0)
                {
                    cx *= x;
                }

                while(cnt[cx] == 1 && cx > 1)
                {
                    cx /= x;
                    ans /= (mint)x;
                }
            }

            cout << ans.val() << (i == n-1 ? nl : ' ');
        }
    }
}
//--------------------------------------------------------------------------------

int main()
{
    cout << fixed << setprecision(10);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}

Submission Info

Submission Time
Task E - Many LCMs
User Sachikosan
Language C++23 (GCC 15.2.0)
Score 0
Code Size 2483 Byte
Status TLE
Exec Time > 2000 ms
Memory 873384 KiB

Compile Error

./Main.cpp: In function 'void solve()':
./Main.cpp:38:16: warning: unused variable 'v' [-Wunused-variable]
   38 |             ll v = a[i];
      |                ^
./Main.cpp:69:16: warning: unused variable 'v' [-Wunused-variable]
   69 |             ll v = a[i];
      |                ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 475
Status
TLE × 1
TLE × 25
Set Name Test Cases
Sample 00_sample_01.txt
All 00_sample_01.txt, 01_large_t_01.txt, 01_large_t_02.txt, 01_large_t_03.txt, 02_large_n_01.txt, 02_large_n_02.txt, 02_large_n_03.txt, 03_prime_01.txt, 03_prime_02.txt, 03_prime_03.txt, 03_prime_04.txt, 03_prime_05.txt, 03_prime_06.txt, 04_small_prime_factor_01.txt, 04_small_prime_factor_02.txt, 04_small_prime_factor_03.txt, 04_small_prime_factor_04.txt, 04_small_prime_factor_05.txt, 04_small_prime_factor_06.txt, 05_large_value_01.txt, 05_large_value_02.txt, 05_large_value_03.txt, 05_large_value_04.txt, 05_large_value_05.txt, 05_large_value_06.txt
Case Name Status Exec Time Memory
00_sample_01.txt TLE > 2000 ms 868640 KiB
01_large_t_01.txt TLE > 2000 ms 868936 KiB
01_large_t_02.txt TLE > 2000 ms 870960 KiB
01_large_t_03.txt TLE > 2000 ms 871332 KiB
02_large_n_01.txt TLE > 2000 ms 870424 KiB
02_large_n_02.txt TLE > 2000 ms 872444 KiB
02_large_n_03.txt TLE > 2000 ms 872924 KiB
03_prime_01.txt TLE > 2000 ms 872932 KiB
03_prime_02.txt TLE > 2000 ms 871424 KiB
03_prime_03.txt TLE > 2000 ms 872112 KiB
03_prime_04.txt TLE > 2000 ms 871544 KiB
03_prime_05.txt TLE > 2000 ms 873116 KiB
03_prime_06.txt TLE > 2000 ms 872676 KiB
04_small_prime_factor_01.txt TLE > 2000 ms 873384 KiB
04_small_prime_factor_02.txt TLE > 2000 ms 872352 KiB
04_small_prime_factor_03.txt TLE > 2000 ms 872992 KiB
04_small_prime_factor_04.txt TLE > 2000 ms 872576 KiB
04_small_prime_factor_05.txt TLE > 2000 ms 871984 KiB
04_small_prime_factor_06.txt TLE > 2000 ms 870096 KiB
05_large_value_01.txt TLE > 2000 ms 870940 KiB
05_large_value_02.txt TLE > 2000 ms 871292 KiB
05_large_value_03.txt TLE > 2000 ms 871904 KiB
05_large_value_04.txt TLE > 2000 ms 872112 KiB
05_large_value_05.txt TLE > 2000 ms 872556 KiB
05_large_value_06.txt TLE > 2000 ms 872880 KiB