Submission #69687948


Source Code Expand

#include <bits/stdc++.h>
#ifdef LOCAL
#include "debug.h"
#else
#define dbg(...) 0
#endif
using namespace std;
using ll = long long;
using db = double;
const ll N = 5500;
vector<ll> primes;
bool isprime[N + 1];
void eular()
{
    memset(isprime, true, sizeof(isprime));
    isprime[0] = isprime[1] = false;
    for (ll i = 2; i <= N; i++)
    {
        if (isprime[i])
        {
            primes.push_back(i);
            for (ll j = i * i; j <= N; j += i)
                isprime[j] = false;
        }
    }
}
vector<vector<ll>> v;
ll m, T, a[N];
ll quickpow(ll a, ll b, ll md)
{
    a %= md;
    ll ans = 1;
    while (b)
    {
        if (b & 1)
            ans = (ans * a) % md;
        b >>= 1;
        a = (a * a) % md;
    }
    return ans;
}
void solve()
{
    eular();
    ll cnt = primes.size();
    v.resize(N + 1, vector<ll>(cnt + 1, 0));
    for (ll i = 1; i <= N; i++)
    {
        v[i] = v[i - 1];
        ll z = i;
        for (ll j = 0; j < cnt && primes[j] <= z; j++)
        {
            while (z % primes[j] == 0)
            {
                v[i][j]++;
                z /= primes[j];
            }
        }
    }
    while (T--)
    {
        ll N;
        cin >> N;
        ll sum = 0;
        for (ll i = 0; i < N; i++)
        {
            cin >> a[i];
            sum += a[i];
        }

        vector<ll> v1 = v[sum];
        vector<ll> v2(cnt, 0);
        for (ll i = 0; i < N; i++)
        {
            for (ll j = 0; j < cnt; j++)
                v2[j] += v[a[i]][j];
        }

        ll ans = 1;
        for (ll i = 0; i < cnt; i++)
        {
            ll k = v1[i] - v2[i];
            if (k > 0)
                ans = (ans * quickpow(primes[i], k, m)) % m;
        }
        cout << ans << '\n';
    }
}
int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    cin >> T >> m;
    solve();
}

Submission Info

Submission Time
Task E - Count Sequences 2
User AChievedreaM
Language C++ 20 (gcc 12.2)
Score 450
Code Size 1944 Byte
Status AC
Exec Time 679 ms
Memory 34616 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 2
AC × 51
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt, 01_test_31.txt, 01_test_32.txt, 01_test_33.txt, 01_test_34.txt, 01_test_35.txt, 01_test_36.txt, 01_test_37.txt, 01_test_38.txt, 01_test_39.txt, 01_test_40.txt, 01_test_41.txt, 01_test_42.txt, 01_test_43.txt, 01_test_44.txt, 01_test_45.txt, 01_test_46.txt, 01_test_47.txt, 01_test_48.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 14 ms 34592 KiB
00_sample_01.txt AC 15 ms 34508 KiB
01_test_00.txt AC 123 ms 34440 KiB
01_test_01.txt AC 243 ms 34460 KiB
01_test_02.txt AC 202 ms 34588 KiB
01_test_03.txt AC 122 ms 34516 KiB
01_test_04.txt AC 246 ms 34480 KiB
01_test_05.txt AC 203 ms 34472 KiB
01_test_06.txt AC 122 ms 34460 KiB
01_test_07.txt AC 245 ms 34448 KiB
01_test_08.txt AC 204 ms 34532 KiB
01_test_09.txt AC 122 ms 34428 KiB
01_test_10.txt AC 244 ms 34448 KiB
01_test_11.txt AC 204 ms 34584 KiB
01_test_12.txt AC 123 ms 34460 KiB
01_test_13.txt AC 245 ms 34512 KiB
01_test_14.txt AC 204 ms 34528 KiB
01_test_15.txt AC 122 ms 34468 KiB
01_test_16.txt AC 245 ms 34368 KiB
01_test_17.txt AC 205 ms 34484 KiB
01_test_18.txt AC 122 ms 34456 KiB
01_test_19.txt AC 246 ms 34476 KiB
01_test_20.txt AC 204 ms 34480 KiB
01_test_21.txt AC 123 ms 34576 KiB
01_test_22.txt AC 245 ms 34460 KiB
01_test_23.txt AC 203 ms 34528 KiB
01_test_24.txt AC 122 ms 34528 KiB
01_test_25.txt AC 244 ms 34472 KiB
01_test_26.txt AC 204 ms 34616 KiB
01_test_27.txt AC 122 ms 34516 KiB
01_test_28.txt AC 246 ms 34592 KiB
01_test_29.txt AC 204 ms 34452 KiB
01_test_30.txt AC 123 ms 34436 KiB
01_test_31.txt AC 245 ms 34432 KiB
01_test_32.txt AC 203 ms 34472 KiB
01_test_33.txt AC 122 ms 34528 KiB
01_test_34.txt AC 245 ms 34616 KiB
01_test_35.txt AC 204 ms 34468 KiB
01_test_36.txt AC 122 ms 34448 KiB
01_test_37.txt AC 245 ms 34436 KiB
01_test_38.txt AC 203 ms 34452 KiB
01_test_39.txt AC 123 ms 34472 KiB
01_test_40.txt AC 246 ms 34588 KiB
01_test_41.txt AC 203 ms 34460 KiB
01_test_42.txt AC 122 ms 34516 KiB
01_test_43.txt AC 246 ms 34528 KiB
01_test_44.txt AC 203 ms 34452 KiB
01_test_45.txt AC 123 ms 34436 KiB
01_test_46.txt AC 245 ms 34444 KiB
01_test_47.txt AC 203 ms 34472 KiB
01_test_48.txt AC 679 ms 34452 KiB