結果

問題 No.1086 桁和の桁和2
コンテスト
ユーザー flippergo
提出日時 2026-10-03 08:38:38
言語 PyPy3
(7.3.23 + ACL)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 160 ms / 3,000 ms
+ 72µs
コード長 930 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 64 ms
コンパイル使用メモリ 81,444 KB
実行使用メモリ 111,936 KB
最終ジャッジ日時 2026-10-03 08:38:50
合計ジャッジ時間 7,829 ms
ジャッジサーバーID
(参考情報)
judge4_0 / judge3_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 5
other AC * 31
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

MOD = 10**9+7
N = int(input())
L = list(map(int,input().split()))
R = list(map(int,input().split()))
D = list(map(int,input().split()))
if sum(D)==0:
    print(1)
else:
    flag = 1
    for i in range(N-1,-1,-1):
        if flag==1 and D[i]==0:
            flag = 0
        if flag==0 and D[i]>0:
            flag = -1
            break
    if flag<0:
        print(0)
    else:
        ind = 0
        for i in range(N):
            if D[i]==0:
                ind = i+1
            else:
                break
        r1 = (R[ind]-L[ind])%(MOD-1)
        r2 = L[ind]%(MOD-1)
        ans = (pow(10,r1,MOD)-1)*pow(10,r2,MOD)*pow(9,MOD-2,MOD)%MOD
        for i in range(ind+1,N):
            r1 = (R[i]-L[i])%(MOD-1)
            r2 = L[i]%(MOD-1)
            cnt = (pow(10,r1,MOD)-1)*pow(10,r2,MOD)*pow(9,MOD-2,MOD)%MOD
            if D[i-1]==D[i]:
                cnt = (cnt+1)%MOD
            ans = ans*cnt%MOD
        print(ans)
0