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 |
|
|
| 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 |