/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 316.0 KiB
#2 Accepted 6ms 324.0 KiB
#3 Accepted 26ms 320.0 KiB
#4 Accepted 22ms 516.0 KiB
#5 Accepted 19ms 500.0 KiB
#6 Accepted 19ms 320.0 KiB
#7 Accepted 14ms 324.0 KiB

Code

/*
 *   Copyright (c) 2024 Emon Thakur
 *   All rights reserved.
 */
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
ll mod = 1e9+7;

// #define fr freopen("input0.txt","r",stdin)
// ofstream file("output0.txt");

void solve()
{
    int n; cin>>n;
    ll a[n];
    for(int i=0;i<n;i++) cin>>a[i];
    ll lim = (1ll<<n)-1;

    ll gi[n+1]={0};

    for(int bit=1;bit<=lim;bit++)
    {
        ll gcd = 0;
        for(int i=0;i<n;i++)
        {
            if(bit & (1<<i)) gcd = __gcd(gcd,a[i]);
        }
        gi[__popcount(bit)] += gcd;
    }
    ll ans = 1;
    for(int i=1;i<=n;i++) ans *= gi[i], ans %= mod;
    ans %= mod;
    cout << ans << endl;
}

int main()
{
    //fr;
    int t; cin>>t; while(t--) solve();
}

Information

Submit By
Type
Submission
Problem
P1105 Ohh that gcd again
Language
C++20 (G++ 13.2.0)
Submit At
2024-09-29 10:08:29
Judged At
2024-11-11 02:51:55
Judged By
Score
100
Total Time
26ms
Peak Memory
516.0 KiB