結果
問題 | No.1632 Sorting Integers (GCD of M) |
ユーザー | とりゐ |
提出日時 | 2021-07-04 13:41:38 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 40 ms / 2,000 ms |
コード長 | 502 bytes |
コンパイル時間 | 240 ms |
コンパイル使用メモリ | 82,268 KB |
実行使用メモリ | 54,164 KB |
最終ジャッジ日時 | 2024-09-21 17:29:14 |
合計ジャッジ時間 | 4,572 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 59 |
ソースコード
import math mod=10**9+7 n=int(input()) c=list(map(int,input().split())) cnt=[0]*9 for i in range(9): if c[i]>0: cnt[i]=1 if sum(cnt)==1: ans=pow(10,n,mod)-1 ans*=pow(9,mod-2,mod) for i in range(9): if cnt[i]==1: ans*=i+1 print(ans%mod) exit() g=0 for i in range(9): for j in range(i+1,9): if cnt[i]>0 and cnt[j]>0: g=math.gcd(g,j-i) g*=9 m=0 tmp=0 for i in range(9): m+=(i+1)*(pow(10,tmp+c[i],g*9)-pow(10,tmp,g*9)) m%=g*9 tmp+=c[i] m//=9 print(math.gcd(m,g))