結果

問題 No.1632 Sorting Integers (GCD of M)
ユーザー ああいい
提出日時 2022-03-02 10:23:36
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 47 ms / 2,000 ms
コード長 593 bytes
コンパイル時間 340 ms
コンパイル使用メモリ 82,232 KB
実行使用メモリ 53,852 KB
最終ジャッジ日時 2024-07-16 04:40:59
合計ジャッジ時間 5,017 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 59
権限があれば一括ダウンロードができます

ソースコード

diff #

N = int(input())
c = list(map(int,input().split()))
import sys

def gcd(a,b):
    if b == 0:return a
    while True:
        r = a % b
        a = b
        b = r
        if r == 0:
            return a
d = 0
for i in range(9):
    for j in range(i+1,9):
        if c[i] and c[j]:
            d = gcd(d,j-i)
P = 10 ** 9 + 7
if d == 0:
    d = P
else:
    d *= 9 * 9
keta = 0
amari = 0
for i in range(9):
    if c[i] == 0:continue
    amari = (amari + pow(10,keta,d) * (pow(10,c[i],d)-1)%d*(i+1)) % d
    keta += c[i]
if d == P:
    print(amari*pow(9,P-2,P)%P)
else:
    print(gcd(d,amari)//9)
0