結果
問題 | No.1084 積の積 |
ユーザー |
|
提出日時 | 2020-06-19 22:20:33 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 148 ms / 2,000 ms |
コード長 | 666 bytes |
コンパイル時間 | 160 ms |
コンパイル使用メモリ | 82,796 KB |
実行使用メモリ | 88,316 KB |
最終ジャッジ日時 | 2024-07-03 14:57:15 |
合計ジャッジ時間 | 3,360 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 27 |
ソースコード
N=int(input())A=list(map(int,input().split()))mod=10**9+7if 0 in A:print(0)exit()data=[0]*(N+1)s=0t=1val=A[0]while N>s and N>t:test=val*A[t]if 10**9>test:val=testt+=1else:data[s]+=1data[t]+=-1if s!=0:data[s-1]-=(t-s)data[s]+=(t-s)val//=A[s]s+=1while N>s:data[s]+=1data[t]+=-1if s!=0:data[s-1]-=(t-s)data[s]+=(t-s)s+=1for i in range(1,N):data[i]+=data[i-1]for i in range(N-2,-1,-1):data[i]+=data[i+1]ans=1for i in range(N):ans*=pow(A[i],data[i],mod)ans%=modprint(ans)