/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 14ms 3.086 MiB
#2 Accepted 28ms 2.977 MiB
#3 Accepted 84ms 3.062 MiB
#4 Accepted 85ms 3.02 MiB
#5 Accepted 73ms 3.191 MiB
#6 Accepted 72ms 3.02 MiB
#7 Accepted 80ms 3.098 MiB

Code

import math
from itertools import combinations

def solve():
    MOD = 10**9 + 7

    def gcd_of_list(numbers):
        if not numbers:
            return 0
        result = numbers[0]
        for i in range(1, len(numbers)):
            result = math.gcd(result, numbers[i])
        return result

    n = int(input())
    a = list(map(int, input().split()))

    sums_by_size = {}

    for i in range(1, n + 1):
        current_sum_for_size_i = 0
        for combo in combinations(a, i):
            combo_gcd = gcd_of_list(list(combo))
            current_sum_for_size_i = (current_sum_for_size_i + combo_gcd)
        sums_by_size[i] = current_sum_for_size_i
    
    final_product = 1
    for i in range(1, n + 1):
        final_product = (final_product * sums_by_size[i]) % MOD

    print(final_product)

t = int(input())
for _ in range(t):
    solve()

Information

Submit By
Type
Submission
Problem
P1105 Ohh that gcd again
Contest
Testing - Intra LU Programming contest 25
Language
Python 3 (Python 3.12.3)
Submit At
2025-08-30 19:49:03
Judged At
2025-08-30 19:49:03
Judged By
Score
100
Total Time
85ms
Peak Memory
3.191 MiB